主题
Docker 安装与配置
本文覆盖各平台 Docker 安装、镜像加速器配置、免 sudo 运行,以及常见安装后问题。
Ubuntu / Debian
推荐使用官方脚本一键安装(包含 docker-cli、dockerd、compose 插件):
bash
# 卸载旧版本
sudo apt-get remove -y docker docker-engine docker.io containerd runc
# 一键安装(官方便捷脚本)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# 启动并设置开机自启
sudo systemctl enable --now docker也可使用 apt 源安装(更可控):
bash
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/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://download.docker.com/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-pluginCentOS / RHEL
bash
# 卸载旧版本
sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 安装 yum-utils 并添加仓库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 启动
sudo systemctl enable --now docker详细 CentOS 下的 Docker 安装与镜像加速实践,可参考 CentOS Docker。
Windows
- 推荐:安装 Docker Desktop for Windows,需开启 WSL2 后端(Windows 10/11 专业版/家庭版均可)。
- 安装后在 PowerShell 中验证:
powershell
docker version
docker run hello-worldmacOS
- Intel 芯片:Docker Desktop for Mac (Intel)
- Apple 芯片:Docker Desktop for Mac (Apple)
- 安装后终端执行
docker run hello-world验证。
镜像加速配置
由于网络原因,拉取官方镜像常超时。配置国内镜像加速器可显著提升速度。编辑 /etc/docker/daemon.json:
bash
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker验证是否生效:
bash
docker info | grep -A 5 "Registry Mirrors"免 sudo 运行(将当前用户加入 docker 组)
默认需要 sudo 才能执行 docker 命令。将用户加入 docker 组后可免 sudo:
bash
sudo usermod -aG docker $USER
# 重新登录或执行以下命令使组生效
newgrp docker
docker run hello-world安全提示:
docker组等价于 root 权限(可挂载/读写宿主机),仅应在可信环境配置。
安装后排查
bash
# 守护进程状态
sudo systemctl status docker
# 查看 daemon 配置与驱动
docker info
# 磁盘占用
docker system df最佳实践
- 固定版本安装(生产环境避免
latest,明确指定docker-ce=5:24.0.x)。 - 配置镜像加速器,减少拉取失败。
- 配置日志轮转,避免
/var/lib/docker被日志打满(见 Docker 存储)。 - 生产环境建议单独挂载大容量磁盘到
/var/lib/docker。