📑 目录


一、版本与平台支持

  Docker 分为 Server 版本(在 Linux 服务器上以命令行方式运行)和桌面版本(Docker Desktop,带 GUI)。本篇覆盖三种典型安装场景:Ubuntu、CentOS、Windows 11。各平台最新安装步骤以 Docker 官方安装文档 为准,本篇记录实测可用的流程。


二、Ubuntu 安装 Docker

  以华为云 Ubuntu 20.04 为例。安装前需确认环境依赖:操作系统支持 Ubuntu Kinetic 22.10、Jammy 22.04 (LTS)、Focal 20.04 (LTS)、Bionic 18.04 (LTS);CPU 支持 ARM 和 X86_64。完整依赖与官方仓库配置详见 Ubuntu 安装指南

1. 确认 CPU 架构

uname -a
# 输出含 x86_64 表示支持;若是 arm 一般显示 aarch64

2. 确认操作系统版本

cat /etc/*release*

3. 卸载旧版本

sudo apt-get remove docker docker-engine docker.io containerd runc

4. 卸载历史版本(彻底清理)

# 卸载软件包
sudo apt-get purge 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 /etc/docker/daemon.json

5. 配置 Docker 下载源

# 安装 curl
sudo apt install curl -y

# 创建 gpg key 目录
sudo mkdir -m 0755 -p /etc/apt/keyrings

# 下载 gpg key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg

# 写入 apt 源
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

6. 安装 Docker

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin -y

7. 配置开机自启

sudo systemctl daemon-reload      # 加载配置
sudo systemctl start docker        # 启动服务
sudo systemctl enable docker       # 开机自启
sudo systemctl status docker       # 查看状态

8. 验证安装

# 查看版本(应显示 Client 和 Server,版本如 23.0.1)
docker version

# 查看详细信息(含存储驱动、Cgroup 版本、插件等)
docker info

# 运行 hello-world,看到 "Hello from Docker!" 即表示正常
sudo docker run hello-world

📌 docker info 关键信息:Storage Driver 为 overlay2,Cgroup Version 为 2,Docker Root Dir 为 /var/lib/docker,Default Runtime 为 runc。


三、CentOS 安装 Docker

  支持的操作系统:CentOS 7 已停止更新不再支持,CentOS 8 (stream) 和 CentOS 9 (stream) 支持;CPU 支持 ARM/X86_64。步骤与 Ubuntu 类似,详见 CentOS 安装指南

1. 确认环境

cat /etc/*release*      # 确认操作系统
uname -a                 # 确认 CPU 架构(x86_64)

2. 卸载旧版本与历史版本

# 卸载旧版本
sudo yum remove docker docker-client docker-client-latest \
  docker-common docker-latest docker-latest-logrotate \
  docker-logrotate docker-engine

# 卸载历史版本
sudo yum remove docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker/daemon.json

3. 配置仓库

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo \
  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4. 安装并启动

# 安装
sudo yum install -y docker-ce

# 启动并设为开机自启
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker

5. 验证安装

docker version         # 查看版本(如 23.0.3)
docker info            # 查看详细信息
sudo docker run hello-world    # 运行测试镜像

四、Windows 11 安装 Docker Desktop

1. 安装依赖

  首先确定开启虚拟化:按 Win + I 进入"启用或关闭 Windows 功能",勾选"Windows 子系统"(WSL)和"虚拟机平台",重启电脑完成系统设置。

2. 安装 WSL2

  以管理员权限运行 PowerShell:

wsl --status                      # 查看版本,若不是 2 需更新
wsl --update                      # 更新 wsl 到最新版本
wsl --set-default-version 2       # 设置 wsl 默认版本为 2

3. 安装 Ubuntu 子系统

  通过微软应用商店安装 Ubuntu 18.04.5,启动后按提示创建 UNIX 用户名和密码。

4. 安装 Docker Desktop

  下载 Docker Desktop for Windows,双击 Docker Desktop Installer.exe 安装,点击桌面快捷方式运行 Docker。在 PowerShell 中验证:

docker version
# 应显示 Client(windows/amd64)和 Server(linux/amd64)

⚠️ 因 Docker 源在 Windows 下可能不可用,需配置 registry-mirrors 代理(见下文镜像源修改)。


五、常见报错处理

  Docker 启动时报错时,按以下步骤排查:

# 1. 查看系统日志(-e 从末尾看,-u 指定 docker 组件)
journalctl -eu docker

# 2. 修复命令
systemctl daemon-reload
systemctl start docker

六、镜像源修改

  对于使用 systemd 的系统(Ubuntu 16.04+、Debian 8+、CentOS 7),在配置文件 /etc/docker/daemon.json 中配置 registry-mirrors。该文件支持的全部配置项见 daemon.json 配置参考

腾讯云(可使用腾讯内置源):

{
  "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}

阿里云 / 其他环境(因阿里云只对企业开放海外代理,需找私人开放源):

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://dockerhub.timeweb.cloud",
    "https://huecker.io"
  ]
}

配置后重启 Docker 生效:

sudo systemctl daemon-reload
sudo systemctl restart docker

七、存储目录修改

  Docker 默认安装目录为 /var/lib/docker,会存放大量镜像,安装时需考虑该目录空间。三种解决方案:

方案适用场景
挂载大磁盘到 /var/lib/docker能控制挂载目录,如云厂商安装 K8s 节点时提供挂载选项
安装前挂载大磁盘 + 软链接安装前规划好,创建软链接到 /var/lib/docker
修改 daemon.json 的 data-root已安装后发现目录空间不足

方案三(修改配置文件)操作

# 创建目标目录(假设大磁盘挂载在 /data)
mkdir -p /data/var/lib/docker

# 编辑配置文件
vi /etc/docker/daemon.json

写入以下内容:

{
  "data-root": "/data/var/lib/docker"
}
# 加载配置并重启
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker

# 通过 docker info 查看 Docker Root Dir 已变为 /data/var/lib/docker

💡 data-rootregistry-mirrors 可以合并在同一个 daemon.json 中配置。


Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐