在京东云(JD Cloud)的 CentOS 系统(推荐 CentOS 7 或 CentOS 8,注意:CentOS 8 已于 2021-12-31 停止维护,强烈建议使用 CentOS 7 或迁移至 Rocky Linux/AlmaLinux)上安装 Docker,需遵循官方推荐方式(使用 Docker 官方 yum 仓库),避免使用系统自带过时的 docker(如 CentOS 7 的 docker 包实为旧版 Docker 1.13,已弃用)。
以下是 适用于京东云 CentOS 7(x86_64)的完整、安全、生产就绪安装步骤(含必要前置检查、依赖配置、非 root 用户权限配置及验证):
✅ 前置检查(京东云实例要求)
-
操作系统版本确认(必须为 CentOS 7.x,内核 ≥ 3.10):
cat /etc/redhat-release uname -r # 示例输出应类似:3.10.0-1160.el7.x86_64(✅ 支持) -
确保系统已更新(京东云镜像通常较新,但仍建议):
sudo yum update -y -
卸载旧版 Docker(如有)(京东云默认不预装 Docker,但若曾手动安装需清理):
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine -
安装必要依赖:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
🚀 步骤 1:添加 Docker 官方 yum 仓库(稳定版)
sudo yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
💡 注:京东云服务器国内访问
download.docker.com可能较慢,可替换为阿里云镜像提速(更稳定):sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
🚀 步骤 2:安装 Docker CE(社区版)
# 列出可用版本(可选,查看最新稳定版)
yum list docker-ce --showduplicates | sort -r
# 安装最新稳定版(推荐)
sudo yum install -y docker-ce docker-ce-cli containerd.io
# ✅ 验证安装(不启动)
docker --version # 应输出:Docker version 24.0.x, build xxxxx
🚀 步骤 3:配置 containerd(Docker 20.10+ 必需)
Docker 20.10+ 默认使用 containerd 作为容器运行时,需生成默认配置(京东云无需额外修改,但建议初始化):
sudo mkdir -p /etc/containerd
sudo containerd config default | sudo tee /etc/containerd/config.toml
# 修改 cgroup 驱动为 systemd(适配 CentOS 7 systemd)
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
然后重启 containerd:
sudo systemctl restart containerd
🚀 步骤 4:启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker # 检查状态(应为 active (running))
🚀 步骤 5:验证 Docker 功能(非 root 用户可选)
# 运行 Hello World 容器(需 root 权限)
sudo docker run hello-world
# ✅ 输出包含 "Hello from Docker!" 即成功
🔐 步骤 6(推荐):将普通用户加入 docker 组(免 sudo 运行)
⚠️ 注意:此操作赋予该用户等同于 root 的容器管理权限,请仅用于可信用户(如京东云运维账号)
# 创建 docker 组(如不存在)
sudo groupadd docker
# 将当前用户(如 jd-user)加入 docker 组(替换 your_username)
sudo usermod -aG docker $USER
# 生效组权限(需重新登录或执行)
newgrp docker
# 验证(无需 sudo)
docker run hello-world # ✅ 成功即配置完成
🔁 若仍提示
permission denied,请退出当前 SSH 会话并重新登录,或运行exec su -l $USER。
🌐 (可选)配置 Docker 镜像提速器(提升国内拉取速度)
京东云用户强烈推荐配置国内镜像源(如阿里云、中科大、网易或京东云自有镜像服务):
# 创建 daemon.json 配置文件
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://xxxx.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
✨ 获取阿里云镜像提速地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors(免费注册即可)
重载配置并重启:
sudo systemctl daemon-reload
sudo systemctl restart docker
✅ 最终验证(全链路)
# 1. 查看 Docker 信息
docker info | grep -E "(Server Version|Storage Driver|Cgroup Driver|Registry Mirrors)"
# 2. 运行一个 Nginx 测试容器
docker run -d -p 8080:80 --name webtest nginx:alpine
curl http://localhost:8080 # 应返回 Nginx 欢迎页 HTML
docker stop webtest && docker rm webtest
❗ 京东云特别注意事项
- ✅ 安全组:若需从公网访问容器端口(如 8080),务必在京东云控制台 → 云主机 → 安全组中放行对应端口。
- ✅ 云硬盘挂载:Docker 默认存储路径
/var/lib/docker在系统盘。如需大容量或持久化,建议:- 将数据盘挂载至
/var/lib/docker(需先停止 Docker,迁移数据); - 或使用
--volume挂载到独立云硬盘路径(推荐)。
- 将数据盘挂载至
- ⚠️ CentOS 8 用户:因 EOL 不再受支持,请立即迁移到 Rocky Linux 9 或 AlmaLinux 9,其 Docker 安装方式类似(仅
yum→dnf,仓库 URL 微调)。
📚 参考文档
- Docker 官方 CentOS 安装指南:https://docs.docker.com/engine/install/centos/
- 京东云镜像市场(推荐选择「CentOS 7.9」官方镜像):https://www.jdcloud.com/cn/marketplace/ecs
如需一键脚本(京东云环境优化版),我可为您生成。是否需要? 😊
CLOUD云计算