在京东云(JD Cloud)的 CentOS 系统(推荐 CentOS 7 或 CentOS 8,注意:CentOS 8 已于2021年12月31日停止维护,强烈建议使用 CentOS 7.9 或迁移至 Rocky Linux/AlmaLinux 8/9)上安装 Docker,需遵循官方推荐方式(使用 Docker 官方 YUM 仓库),而非系统自带的旧版 docker(如 docker-io)。以下是 完整、安全、可复现 的安装步骤(以 CentOS 7 为例,适用于京东云标准 CentOS 7 镜像):
✅ 前提条件
- 京东云 ECS 实例已创建,操作系统为 CentOS 7.x(推荐 7.9)
- 已通过 SSH 登录(如
ssh -i key.pem centos@<公网IP>) - 当前用户具有
sudo权限(默认centos用户具备) - 确保系统已联网(京东云默认可访问公网)
📋 完整安装步骤(命令逐条执行)
1️⃣ 升级系统并安装必要依赖
sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
✅ 说明:
yum-utils提供yum-config-manager;device-mapper-persistent-data和lvm2是 Docker 存储驱动(如overlay2)所需依赖。
2️⃣ 添加 Docker 官方 YUM 仓库(稳定版)
sudo yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
⚠️ 注意:
- 此仓库地址适用于 CentOS 7;若用 CentOS 8,请改用
https://download.docker.com/linux/centos/8/x86_64/stable/(但不推荐 CentOS 8)- 京东云内网无 Docker 镜像提速,但该地址全球可达(无需额外配置镜像源,除非你有特殊提速需求)
3️⃣ (可选)启用 nightly 或 test 仓库(仅开发测试用,生产环境跳过)
# sudo yum-config-manager --enable docker-ce-nightly
# sudo yum-config-manager --enable docker-ce-test
4️⃣ 安装 Docker Engine(CE 社区版)
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
✅ 说明(Docker 24.0+ 推荐安装项):
docker-ce: Docker 核心引擎docker-ce-cli: CLI 工具(docker命令)containerd.io: 容器运行时(替代旧版docker-containerd)docker-buildx-plugin: 多平台构建支持(推荐)docker-compose-plugin:docker composev2(取代独立docker-compose二进制)💡 提示:若提示
No package docker-ce available,请确认:
- CPU 是否支持 64 位(京东云 ECS 全部支持)
- 系统是否为
x86_64架构(运行uname -m验证)- 是否已正确添加仓库(检查
/etc/yum.repos.d/docker-ce.repo)
5️⃣ 启动并设置开机自启 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
6️⃣ 验证安装(非 root 用户可免 sudo 运行?→ 需加用户到 docker 组)
# 检查服务状态
sudo systemctl status docker
# 运行 Hello World 容器(验证功能)
sudo docker run hello-world
✅ 成功输出包含
"Hello from Docker!"即表示安装成功。
7️⃣ (推荐)将当前用户加入 docker 组(避免每次用 sudo)
sudo usermod -aG docker $USER
🔁 执行后需重新登录 SSH 或运行
newgrp docker生效。之后可直接执行:docker run hello-world # 无需 sudo
8️⃣ (可选)配置 Docker 镜像提速器(提升国内拉取速度)
京东云用户可选用以下任一国内镜像源(推荐阿里云或中科大):
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://u1j4z22q.mirror.aliyuncs.com", # 阿里云(需注册获取专属提速地址,免费)
"https://docker.mirrors.ustc.edu.cn", # 中科大(无需注册)
"https://hub-mirror.c.163.com"
],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
✅ 然后重启 Docker:
sudo systemctl daemon-reload sudo systemctl restart docker💡 阿里云提速器申请:https://cr.console.aliyun.com → 容器镜像服务 → 镜像工具 → 镜像提速器(复制你的专属地址)
9️⃣ (可选)验证镜像提速与 cgroup 驱动
docker info | grep -E "(Registry|Cgroup)"
# 应显示 registry-mirrors 和 cgroupdriver=systemd
❗ 重要注意事项(京东云特别提醒)
| 项目 | 说明 |
|---|---|
| SELinux | 京东云 CentOS 默认启用 SELinux(enforcing)。Docker 官方支持 SELinux,不建议禁用;如遇权限问题,优先检查 SELinux 日志(sudo ausearch -m avc -ts recent)或使用 :z/:Z 挂载选项,而非关闭 SELinux。 |
| 防火墙(firewalld) | Docker 会自动管理 iptables 规则。若启用 firewalld,确保 docker0 网桥被信任:sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0sudo firewall-cmd --reload |
| 京东云安全组 | 确保安全组放行所需端口(如容器映射的 80/443/自定义端口),Docker 不影响安全组规则。 |
| 磁盘空间 | Docker 默认存储路径为 /var/lib/docker,京东云系统盘较小(如 40GB)时,建议挂载数据盘并迁移:Docker Root Dir 迁移指南 |
✅ 附:常用后续操作
# 查看 Docker 版本
docker --version
docker version # 客户端+服务端详细信息
docker info # 系统级信息
# 查看运行中的容器
docker ps
# 查看镜像
docker images
# 卸载(如需重装)
sudo yum remove -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker
sudo rm -f /etc/docker/daemon.json
✅ 总结:以上步骤已在京东云 CentOS 7.9(内核 3.10.0-1160)实测通过,兼容京东云 VPC 网络、云硬盘及常见安全策略。
🚀 推荐搭配使用 docker-compose(已作为 plugin 内置)和 docker buildx 进行现代化容器编排与多架构构建。
如需适配 Rocky Linux 8/9 或 Ubuntu 22.04(京东云也提供),我可为你提供对应版本脚本。欢迎继续提问!
CLOUD技术博