安装与环境准备
Docker 安装快速路径:本小节覆盖从操作系统检测到
hello-world 验证全流程,熟练后可在 5 分钟内完成基础环境搭建。
1. 操作系统与系统要求
Docker 与 Docker Compose 支持主流的 Linux、Windows 和 macOS 发行版。生产环境优先选用 Linux,Windows 下推荐启用 WSL2 后端以获得原生 Linux 容器性能。
| 操作系统 | 架构 | 最低版本 | Docker Desktop 支持 |
|---|---|---|---|
| Ubuntu | x86_64 / arm64 | 22.04 / 24.04 LTS | 是 |
| Windows | x86_64 | Win 10 22H2 / Win 11 | 是 (WSL2 后端) |
| macOS | x86_64 / Apple Silicon | macOS 12+ | 是 |
| CentOS / RHEL | x86_64 | 7 / 8 / 9 | 否(使用 yum/dnf 安装引擎) |
2. 安装 Docker 引擎
以 Ubuntu 为例,官方推荐使用 apt 仓库进行安装,确保获得最新的稳定版本。
# 卸载旧版本(如有)
sudo apt-get remove docker docker-engine docker.io containerd runc
# 安装依赖工具
sudo apt-get update
sudo apt-get install ca-certificates curl
# 添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
# 设置稳定版仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 Docker 引擎与插件
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3. 安装 Docker Compose
Docker Compose v2 已作为 Docker 引擎的插件发布,无需单独下载二进制文件,通过 docker compose(无横杠)子命令直接调用。如果上一步已安装 docker-compose-plugin 包,则跳过本节。
# 使用 apt 安装 Compose 插件(推荐)
sudo apt-get update
sudo apt-get install docker-compose-plugin
命令差异提醒:v1 版本使用
docker-compose(带横杠),v2 版本使用 docker compose(不带横杠)。本课程统一使用 v2 语法。
4. 验证安装
依次执行以下命令,确认 Docker 引擎、Compose 插件和容器运行时均正常工作。
# 检查 Docker 引擎版本
docker --version
# 预期输出:Docker version 27.4.0, build bde2b89
# 检查 Docker Compose 版本
docker compose version
# 预期输出:Docker Compose version v2.32.0
# 运行 Hello-World 测试容器
sudo docker run hello-world
如果 hello-world 容器成功打印欢迎信息并退出,说明整个安装链路已经打通。
5. 配置镜像加速器(中国区关键优化)
国内访问 Docker Hub 极易因网络原因导致 docker pull 超时或下载极慢。配置镜像加速器后,拉取效率可提升 10 倍以上。推荐使用中科大、网易或阿里云等镜像站。
# 创建或修改 daemon.json
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
EOF
# 重新加载配置并重启 Docker 守护进程
sudo systemctl daemon-reload
sudo systemctl restart docker
# 验证镜像加速是否生效
docker info | grep -A 5 "Registry Mirrors"
# 预期输出:
# Registry Mirrors:
# https://docker.mirrors.ustc.edu.cn/
# https://hub-mirror.c.163.com/
性能优化基线:配置镜像加速后,首次
docker pull nginx:alpine 应能在 1 分钟内完成。如果仍超过 3 分钟,建议更换镜像站地址或检查防火墙设置。
6. 常见错误与调试
- Can‘t connect to Docker daemon:当前用户未加入
docker用户组或守护进程未启动。执行sudo systemctl start docker并尝试退出当前 shell 重新登录。 - docker: ‘compose’ is not a docker command:Compose 插件未安装。执行
sudo apt-get install docker-compose-plugin补装。 - docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled:镜像拉取超时,通常由网络限制引起。请检查
/etc/docker/daemon.json中的镜像加速配置是否生效,并确认重启了守护进程。 - sudo 执行免密(可选):将当前用户加入
docker组后可省略sudo。命令为sudo usermod -aG docker $USER,然后重新登录。