Docker 与 Docker Compose 全平台安装指南
概述
Docker 作为开源应用容器引擎,核心价值在于 “一次打包,到处运行”—— 开发者可将应用及依赖封装为标准化 “镜像”,发布到任意支持 Docker 的平台(Linux/Windows/macOS),无需担心环境差异导致的 “本地能跑,线上崩了” 问题。而 Docker Compose 则是 Docker 的 “多容器管理工具”,能通过一个配置文件定义多个关联容器(如 “Web 服务 + 数据库 + 缓存”),实现 “一键启动 / 停止”,大幅简化多容器应用的部署流程。
本文覆盖 Windows、macOS、Ubuntu、CentOS 四大主流平台,提供 Docker 与 Docker Compose 的完整安装步骤,同时包含 “镜像源加速”“免 sudo 使用 Docker”“快捷键冲突解决” 等实用配置,新手可按平台对照操作,快速搭建容器化开发环境。
一、Docker 安装:分平台操作指南
Docker 对不同平台的安装方式差异较大,Windows/macOS 提供可视化安装包,Linux(Ubuntu/CentOS)则通过包管理器或官方脚本安装,以下分平台详细说明。
1. Windows & macOS:可视化安装(最简单)
Windows 和 macOS 用户可直接下载 Docker 官方社区版(CE),安装过程无需复杂命令,且默认集成 Docker Compose(后续无需单独安装)。
操作步骤:
- 下载安装包:访问 Docker 官网下载页,根据系统选择 “Docker Desktop for Windows” 或 “Docker Desktop for Mac”(社区版免费,企业版 EE 需付费,开发用 CE 足够);
- 安装 Docker:
- Windows:双击安装包,按提示勾选 “使用 WSL 2 而不是 Hyper-V”(WSL 2 性能更优,需提前启用 WSL 功能),等待安装完成后启动 Docker;
- macOS:将下载的 .dmg 文件拖入应用程序,启动后在状态栏看到 Docker 图标(鲸鱼图标)即表示启动成功;
- 验证安装:打开终端(Windows 用 PowerShell 或 WSL 终端,macOS 用终端),执行 docker --version,若输出类似 Docker version 20.10.x, build xxx,说明安装成功。
注意事项:
- Windows 系统需满足:Windows 10 专业版 / 企业版(支持 Hyper-V)或 Windows 10 家庭版(需启用 WSL 2);
- macOS 系统需满足:macOS 10.15+(Catalina 及以上),M1/M2 芯片需下载适配 ARM 架构的安装包。
2. Ubuntu 系统:APT 包管理器安装(Debian 系通用)
Ubuntu 官方软件源包含 Docker 包,可直接通过 apt 命令安装,步骤简洁,适合新手。
操作步骤:
# 1. 更新系统包索引(确保获取最新软件信息)
sudo apt update
# 2. 安装 Docker CE(社区版)
sudo apt install -y docker.io
# 3. 验证 Docker 是否安装成功(输出版本信息即正常)
docker --version
3. CentOS 系统:官方脚本安装(RHEL 系通用)
CentOS 官方源中 Docker 版本较旧,推荐使用 Docker 官网脚本安装,并通过阿里云镜像加速,避免下载缓慢。
操作步骤:
# 1. 下载 Docker 官方安装脚本(保存为 get-docker.sh)
curl -fsSL get.docker.com -o get-docker.sh
# 2. 执行脚本安装,指定阿里云镜像(加速下载)
sudo sh get-docker.sh --mirror Aliyun
# 3. 验证安装(输出版本信息即正常)
docker --version
二、Docker 基础配置:免 sudo + 镜像加速 + 快捷键优化
安装完成后,需进行三项关键配置:免 sudo 使用 Docker(避免每次输入密码)、配置镜像源(加速拉取镜像)、修改快捷键(解决命令行冲突),这是提升 Docker 使用体验的核心步骤。
1. 免 sudo 使用 Docker(所有 Linux 系统通用)
默认情况下,Docker 命令需 sudo 权限(因 Docker 守护进程归 root 所有),通过创建 docker 组并添加当前用户,可实现免 sudo 操作。
# 1. 创建 docker 用户组(若已存在则忽略)
sudo groupadd docker
# 2. 将当前用户加入 docker 组($USER 表示当前登录用户)
sudo usermod -aG docker $USER
# 3. 重启 Docker 服务(使权限配置生效)
sudo systemctl restart docker
生效方式:
- 配置后需 退出当前终端并重新登录(或执行 newgrp docker 临时生效),再执行 docker ps,若不报错,说明免 sudo 配置成功。
2. 配置镜像源:加速拉取 Docker 镜像
Docker 默认从官方仓库(Docker Hub)拉取镜像,国内访问速度较慢,需配置国内镜像源(如中科大、阿里云),提升拉取速度。
操作步骤:
# 1. 创建/修改 Docker 守护进程配置文件(daemon.json)
# 中科大镜像源:https://docker.mirrors.ustc.edu.cn
# 阿里云镜像源:需先注册阿里云账号,在“容器镜像服务”中获取专属地址(更稳定)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF
# 2. 重新加载 Docker 守护进程配置
sudo systemctl daemon-reload
# 3. 重启 Docker 服务(使镜像源配置生效)
sudo systemctl restart docker
# 4. 验证配置(输出包含镜像源地址即正常)
docker info | grep "Registry Mirrors"
阿里云镜像源获取方式:
- 登录 阿里云控制台;
- 进入 “容器镜像服务 → 镜像工具 → 镜像加速器”,复制专属加速地址(如 https://abc123.mirror.aliyuncs.com),替换上述命令中的中科大地址即可。
3. 修改快捷键:解决 Ctrl+P 冲突
Docker 默认 “后台运行容器” 的快捷键是 Ctrl+P,但这与终端中 “上一条命令” 的快捷键冲突(如 Bash/Zsh 中 Ctrl+P 唤起历史命令)。通过修改 Docker 配置,将快捷键改为 Ctrl+Q, Q(连续按两次 Q),避免冲突。
# 1. 创建当前用户的 Docker 配置目录(若不存在)
mkdir -p ~/.docker
# 2. 写入快捷键配置(detachKeys 表示“后台运行”快捷键)
tee ~/.docker/config.json <<-'EOF'
{
"detachKeys": "ctrl-q,q"
}
EOF
# 3. 重启 Docker 服务(使快捷键配置生效)
sudo systemctl restart docker
使用方式:
- 启动容器时加 -d 后台运行(如 docker run -d nginx),或在交互模式下(docker run -it nginx)按 Ctrl+Q 再按 Q,即可将容器切换到后台运行,同时保留终端控制权。
4. 设置 Docker 开机自启(Linux 系统通用)
为避免服务器重启后需手动启动 Docker,建议设置开机自启:
# 1. 启用 Docker 开机自启
sudo systemctl enable docker
# 2. 验证自启配置(输出 enabled 即正常)
sudo systemctl is-enabled docker
三、Docker Compose 安装:分平台操作
Docker Compose 用于管理多容器应用,Windows/macOS 安装 Docker 时已默认集成,仅 Linux 系统需单独安装。
1. Windows & macOS:无需额外安装
Windows 和 macOS 的 Docker Desktop 已内置 Docker Compose,安装 Docker 后直接验证即可:
# 验证 Docker Compose 版本(输出类似 docker-compose version 1.29.x, build xxx 即正常)
docker-compose --version
2. Ubuntu 系统:APT 安装(简单快捷)
Ubuntu 官方源包含 Docker Compose 包,直接通过 apt 安装:
# 安装 Docker Compose
sudo apt install -y docker-compose
# 验证安装
docker-compose --version
3. CentOS 系统:脚本下载安装(指定版本)
CentOS 官方源无 Docker Compose,需从 GitHub 下载二进制文件安装(这里以 1.25.4 版本为例,可替换为 最新版本)。
# 1. 下载 Docker Compose 二进制文件(适配当前系统架构)
# `uname -s` 获取系统(如 Linux),`uname -m` 获取架构(如 x86_64)
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o ~/docker-compose
# 2. 移动文件到系统命令路径(使 docker-compose 命令全局可用)
sudo mv ~/docker-compose /usr/bin/
# 3. 赋予执行权限(否则无法运行)
sudo chmod +x /usr/bin/docker-compose
# 4. 验证安装
docker-compose --version
升级版本:
若需安装更新版本,只需替换命令中的 1.25.4 为最新版本号(如 2.20.3),重复上述步骤即可。
四、最终验证:确保 Docker 与 Docker Compose 正常工作
完成所有安装与配置后,通过简单命令验证功能是否正常:
1. 验证 Docker 功能
# 1. 拉取官方 nginx 镜像(测试镜像拉取功能)
docker pull nginx
# 2. 启动 nginx 容器(测试容器运行功能)
docker run -d -p 8080:80 --name test-nginx nginx
# 3. 查看容器状态(输出 test-nginx 且状态为 Up 即正常)
docker ps
# 4. 访问 nginx 服务(测试端口映射)
curl http://localhost:8080
# 若输出 nginx 欢迎页 HTML 代码,说明 Docker 网络配置正常
# 5. 停止并删除测试容器(清理环境)
docker stop test-nginx && docker rm test-nginx
2. 验证 Docker Compose 功能
创建一个简单的 docker-compose.yml 文件,测试多容器管理:
# 1. 创建测试目录并进入
mkdir -p ~/docker-test && cd ~/docker-test
# 2. 编写 docker-compose.yml(定义 nginx + redis 两个容器)
tee docker-compose.yml <<-'EOF'
version: '3'
services:
nginx:
image: nginx
ports:
- "8080:80"
redis:
image: redis
ports:
- "6379:6379"
EOF
# 3. 启动所有容器(-d 后台运行)
docker-compose up -d
# 4. 查看容器状态(两个容器均为 Up 状态即正常)
docker-compose ps
# 5. 停止并删除所有容器(清理环境)
docker-compose down
五、总结
本文覆盖 Docker 与 Docker Compose 的全平台安装与核心配置,关键要点总结如下:
平台 | Docker 安装方式 | Docker Compose 安装方式 | 核心配置(必做) |
---|---|---|---|
Windows | 下载 Docker Desktop 安装包 | 内置,无需额外安装 | 启用 WSL 2(家庭版)、配置镜像源 |
macOS | 下载 Docker Desktop 安装包 | 内置,无需额外安装 | 适配芯片架构(Intel/ARM)、配置镜像源 |
Ubuntu | sudo apt install -y docker.io | sudo apt install -y docker-compose | 免 sudo 配置、镜像加速、开机自启 |
CentOS | 官方脚本 + 阿里云镜像 | 下载二进制文件 + 赋予执行权限 | 免 sudo 配置、镜像加速、开机自启 |
通过以上步骤,可快速搭建稳定、高效的 Docker 环境,后续可基于此学习容器编排(如 Docker Swarm)、CI/CD 集成(如 Jenkins + Docker)等进阶内容,充分发挥容器技术的优势。