Skip to content
Docker 安装与配置

Docker 安装与配置

本文件涵盖 Docker 在不同平台下的安装方式、镜像加速器配置及基础验证。


WSL 环境(Windows)

安装方式

在 Docker 官网下载 Windows 安装包后,使用 管理员 PowerShell 执行静默安装:

Start-Process 'Docker Desktop Installer.exe' ' install --installation-dir=D:\Docker --backend=wsl-2 --wsl-default-data-root=D:\DockerData'
参数 含义
--installation-dir Docker 程序安装路径
--backend=wsl-2 使用 WSL 2 作为后端(推荐)
--wsl-default-data-root 镜像与容器数据存储路径(建议放非系统盘)

WSL 内配置镜像加速器

方式一:Docker Desktop GUI

在 Settings → Docker Engine 中编辑 JSON:

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1panel.live",
    "https://hub.rat.dev"
  ]
}

方式二:命令行修改 daemon.json

sudo vi /etc/docker/daemon.json

写入:

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1panel.live",
    "https://hub.rat.dev"
  ]
}
sudo service docker restart

💡 最佳实践:镜像加速器列表应常维护,建议定期检查可用性。推荐使用 daoCloud1Panel 等稳定的国内镜像源。


Linux 环境

CentOS / RHEL

1. 更新系统并安装依赖

sudo yum update -y
sudo yum install -y yum-utils

2. 添加阿里云镜像源

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3. 强制替换官方地址(重要)

# 有时 repo 文件内部仍指向官方地址,这步确保所有链接都走阿里云
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

4. 清除缓存并安装

sudo yum clean all
sudo yum makecache fast
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

💡 关于 docker-compose-plugin:这是 Docker Compose V2(docker compose 子命令),而非旧版 docker-compose 独立二进制。V2 已全面取代 V1,新项目应使用 V2。

5. 配置镜像源并启动

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.m.daocloud.io",
    "https://noohub.ru",
    "https://huecker.io"
  ]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker   # 开机自启

6. 验证安装

docker pull nginx
docker run --rm nginx echo "Docker is working!"

Ubuntu / Debian

# 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc

# 安装依赖
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release

# 添加 Docker GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 添加仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

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

安装后配置

非 root 用户运行 Docker

# 将当前用户加入 docker 组
sudo usermod -aG docker $USER

# 重新登录后生效(或执行 newgrp docker)
newgrp docker

daemon.json 常用配置项

{
  "registry-mirrors": ["https://docker.m.daocloud.io"],
  "insecure-registries": ["my-registry.local:5000"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "storage-driver": "overlay2",
  "data-root": "/data/docker",
  "dns": ["8.8.8.8", "114.114.114.114"]
}
配置项 说明
registry-mirrors 镜像加速器地址列表
insecure-registries 允许 HTTP(非 HTTPS)访问的私有仓库
log-driver 日志驱动,默认 json-file
log-opts.max-size 单个日志文件最大大小
log-opts.max-file 日志文件保留数量
storage-driver 存储驱动,推荐 overlay2
data-root Docker 数据存储目录
dns 容器 DNS 服务器

验证安装完整性

# 检查 Docker 版本
docker version

# 查看 Docker 系统信息
docker info

# 运行 hello-world 测试
docker run --rm hello-world

卸载

# CentOS
sudo yum remove docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker /var/lib/containerd

# Ubuntu
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker /var/lib/containerd