Docker 跨平台安装与配置实战指南
介绍 Docker 在 Ubuntu 20.04、CentOS 8/9 Stream 及 Windows 11 平台的安装流程。涵盖环境准备、依赖配置、镜像源优化、目录修改及常见报错解决。重点包括 Linux 下使用官方源安装 Docker CE,Windows 下开启虚拟化与 WSL2 配置 Docker Desktop,以及国内镜像源配置方法,帮助开发者快速完成容器环境搭建。

介绍 Docker 在 Ubuntu 20.04、CentOS 8/9 Stream 及 Windows 11 平台的安装流程。涵盖环境准备、依赖配置、镜像源优化、目录修改及常见报错解决。重点包括 Linux 下使用官方源安装 Docker CE,Windows 下开启虚拟化与 WSL2 配置 Docker Desktop,以及国内镜像源配置方法,帮助开发者快速完成容器环境搭建。

Docker 是一个开源的应用容器引擎,能将应用程序及其依赖打包到一个可移植的容器中,实现「一次构建,到处运行」。无需担心环境差异导致的运行失败,大幅提升开发、测试、部署效率。
Docker 分为 Server 版本(用于服务器,无图形界面)和 Desktop 版本(用于桌面端,有图形界面),不同平台的支持情况如下:
| Server 版本 | 支持的 CPU 架构 | 推荐系统版本 |
|---|---|---|
| Ubuntu | x86_64/amd64、arm64/aarch64、arm(32-bit) | Ubuntu 20.04 LTS、22.04 LTS |
| CentOS | x86_64/amd64、arm64/aarch64 | CentOS 8 Stream、CentOS 9 Stream |
| 其他(Debian/Fedora 等) | x86_64/amd64、arm64/aarch64 等 | 对应系统最新稳定版 |
本文以 Ubuntu 20.04 LTS 为例,全程使用 root 用户操作(普通用户需在命令前加 sudo),步骤清晰。
首先确认系统版本符合要求,CPU 架构支持 Docker(主流 x86_64 均支持):
# 查看 CPU 架构(x86_64/amd64 为支持,arm 架构显示 aarch64)
uname -a
# 查看 Ubuntu 系统版本(需为 20.04 LTS 及以上)
cat /etc/os-release
正常输出示例(CPU 为 x86_64,系统为 20.04 LTS):
# uname -a 输出
Linux 139-159-150-152 5.4.0-100-generic #113-Ubuntu SMP Thu Feb 3 18:43:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/os-release 输出
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.4 LTS"
如果服务器之前安装过 Docker 旧版本,需先卸载,避免冲突;新购买的云服务器无 Docker,可直接跳过此步骤:
# 卸载旧版本软件
sudo apt-get remove docker docker-engine docker.io containerd runc -y
# 卸载历史版本(彻底清理)
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras -y
# 删除 Docker 相关目录(含镜像、容器等数据)
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
# (可选)删除自定义目录
sudo rm -rf /data/var/lib/docker
sudo rm -rf /etc/docker/daemon.json
安装 curl 工具(用于下载 Docker 源配置),确保后续命令正常执行:
sudo apt-get install curl -y
默认 Ubuntu 的源可能下载速度慢,配置 Docker 官方源(稳定且更新及时),步骤如下:
# 创建 gpg key 目录(用于存放 Docker 官方密钥)
sudo mkdir -m 0755 -p /etc/apt/keyrings
# 下载 Docker 官方 GPG 密钥并导入
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
# 配置 Docker 源(自动适配当前系统架构和版本)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
更新 apt 源缓存,然后安装 Docker CE(社区版,免费且常用)及相关插件:
# 更新 apt 源缓存
sudo apt-get update
# 安装 Docker CE 及插件(docker-compose-plugin 用于容器编排)
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
安装过程中若提示「是否继续」,直接按回车即可,等待安装完成(约 1-5 分钟,取决于服务器网络)。
Docker 安装完成后,默认不会自动启动,需手动启动并设置开机自启,避免重启服务器后 Docker 失效:
# 重新加载系统配置(使 Docker 配置生效)
sudo systemctl daemon-reload
# 启动 Docker 服务
sudo systemctl start docker
# 设置开机自启(关键,重启服务器后自动启动 Docker)
sudo systemctl enable docker
# 查看 Docker 服务状态(确认是否启动成功)
sudo systemctl status docker
正常输出中会显示「active (running)」,说明 Docker 服务启动成功。
通过查看 Docker 版本、运行 hello-world 镜像,验证安装是否成功(hello-world 是 Docker 官方测试镜像,体积小,适合快速验证):
# 查看 Docker 版本(Client 和 Server 均显示版本即正常)
docker version
# 运行 hello-world 镜像(首次运行会自动下载,验证 Docker 可正常拉取和运行镜像)
sudo docker run hello-world
验证成功标志:
安装完成后,建议进行镜像源优化和 Docker 目录修改,提升使用体验。
默认 Docker 镜像源为国外的 Docker Hub,国内访问速度慢,甚至会出现拉取失败,需配置国内镜像源。根据服务器所属厂商选择对应源:
# 编辑 Docker 配置文件(daemon.json)
sudo vi /etc/docker/daemon.json
# 按 i 进入编辑模式,粘贴对应配置,然后按 Esc,输入:wq 保存退出
# 1. 腾讯云服务器推荐配置
{"registry-mirrors":["https://mirror.ccs.tencentyun.com"]}
# 2. 阿里云服务器推荐配置(阿里云企业海外代理仅对企业开放,推荐以下公开源)
{"registry-mirrors":["https://docker.m.daocloud.io","https://dockerhub.timeweb.cloud","https://huecker.io"]}
# 注意:中科大源(https://docker.mirrors.ustc.edu.cn)已不可使用,请勿配置!
配置完成后,重启 Docker 使镜像源生效:
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker 默认安装目录为/var/lib/docker,后续下载的镜像、运行的容器都会存放在这里,若该目录磁盘空间较小,会导致后续无法下载大型镜像。建议修改为磁盘空间较大的目录:
# 1. 假设磁盘空间较大的目录为/data,创建 Docker 新目录
mkdir -p /data/var/lib/docker
# 2. 编辑 Docker 配置文件,添加 data-root 配置
sudo vi /etc/docker/daemon.json
# 3. 粘贴以下配置(若已配置镜像源,可合并配置)
{"data-root":"/data/var/lib/docker", "registry-mirrors":["https://mirror.ccs.tencentyun.com"]}
# 4. 重新加载配置并重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
# 5. 查看 Docker 状态,确认配置生效
sudo systemctl status docker
验证目录修改成功:执行「ll /data/var/lib/docker」,若显示 Docker 相关子目录(如 containers、image 等),说明修改成功。
CentOS 系统安装流程与 Ubuntu 类似,重点差异在依赖安装和源配置,以下是完整步骤(以 CentOS 8 Stream 为例)。
# 查看系统版本
cat /etc/os-release
# 查看 CPU 架构
uname -a
注意:CentOS 7 已停止更新,不推荐使用,优先选择 CentOS 8 Stream 或 9 Stream。
# 卸载旧版本软件
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine -y
# 彻底删除 Docker 相关目录
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras -y
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
# (可选)删除自定义目录
sudo rm -rf /data/var/lib/docker
sudo rm -rf /etc/docker/daemon.json
# 安装 yum 工具(用于配置 yum 源)
sudo yum install -y yum-utils
# 配置阿里云 Docker yum 源(国内速度快)
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装 Docker CE(最新稳定版)
sudo yum install -y docker-ce
# 若需安装指定版本,可执行:
sudo yum install -y docker-ce-23.0.1 docker-ce-cli-23.0.1 containerd.io
# 重新加载配置、启动 Docker、设置开机自启
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker
# 查看状态
sudo systemctl status docker
# 验证安装成功
docker version
sudo docker run hello-world
与 Ubuntu 完全一致,参考本文「2.4 进阶配置」步骤,镜像源和目录修改的配置文件、命令完全通用,此处不再重复。
Windows 11 安装 Docker Desktop 需要开启虚拟化、安装 WSL2(Windows Subsystem for Linux),步骤较多,重点注意虚拟化开启和 WSL2 配置。
Docker Desktop 依赖虚拟化技术,需先开启电脑的虚拟化功能:
Docker Desktop 在 Windows 上运行依赖 WSL2,需安装并配置 WSL2:
wsl --updatewsl --set-default-version 2打开 PowerShell,执行以下命令,验证 Docker 是否安装成功:
# 查看 Docker 版本
docker version
# 运行 hello-world 镜像,验证功能正常
docker run hello-world
正常输出「Hello from Docker!」,说明安装成功。
Windows 11 Docker Desktop 配置镜像源步骤:
{ "experimental": false, "registry-mirrors": [ "https://docker.m.daocloud.io", "https://dockerhub.timeweb.cloud", "https://huecker.io" ] }安装和使用 Docker 过程中,新手容易遇到各种报错,以下是常见报错及解决方案。
配置文件错误(如 daemon.json 格式错误)、旧版本残留、端口被占用。
# 1. 查看 Docker 启动日志,定位具体错误
journalctl -eu docker
# 2. 若为配置文件错误,删除错误配置,重新配置
sudo rm -rf /etc/docker/daemon.json
# 3. 重新加载配置并重启 Docker
sudo systemctl daemon-reload
sudo systemctl start docker
网络受限、镜像源不可用、DNS 解析失败、代理配置错误。
echo "nameserver 223.5.5.5" > /etc/resolv.conf
echo "nameserver 8.8.8.8" >> /etc/resolv.conf服务器未安装过 docker-engine 版本,无需处理。
直接跳过该步骤,执行后续的 purge 命令(彻底卸载)即可。
WSL2 未安装或未配置成功,Docker Desktop 依赖 WSL2 运行。
重新执行本文「4.1.2 安装 WSL2」步骤,确保 WSL2 安装成功,且默认版本为 2,重启电脑后再启动 Docker。
本文详细讲解了三大主流平台(Ubuntu 20.04、CentOS 8/9 Stream、Windows 11)的 Docker 完整安装流程,包含安装前准备、核心安装步骤、安装后配置、进阶优化及常见报错解决。
重点注意事项:

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online