在京东云(JD Cloud)的 CentOS 系统(推荐 CentOS 7 或 CentOS 8,注意:CentOS 8 已于 2021-12-31 停止维护,强烈建议使用 CentOS 7.9 或迁移至 Rocky Linux/AlmaLinux;京东云也已支持 Alibaba Cloud Linux、Ubuntu 等更现代系统)上安装 Docker,需遵循官方推荐方式(使用 Docker 官方 yum 仓库),不建议直接 yum install docker(CentOS 自带的 docker 版本老旧且非 Docker Inc. 维护)。
以下是 适用于京东云 CentOS 7(x86_64)的完整、安全、生产就绪安装步骤(含必要前置检查、依赖配置、服务管理及验证):
✅ 前置检查(务必执行)
# 1. 确认系统版本(仅支持 CentOS 7.x,内核 ≥ 3.10)
cat /etc/redhat-release
uname -r
# 2. 确保内核支持 overlay2(Docker 推荐存储驱动)
lsmod | grep overlay # 若无输出,可加载:sudo modprobe overlay
# 3. 更新系统(重要!)
sudo yum update -y
# 4. 安装必要依赖(用于添加 yum 仓库)
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
⚠️ 注意:京东云实例默认可能禁用 SELinux(推荐保持 disabled 或 permissive),如启用请确保策略兼容:
sudo setsebool -P container_manage_cgroup on # 如需 SELinux 支持(非必需,初学者建议先关闭)
📦 步骤 1:添加 Docker 官方 yum 仓库(稳定版)
# 添加 Docker CE 官方稳定仓库(阿里云镜像源提速国内访问)
sudo yum-config-manager
--add-repo
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# (可选)验证仓库是否添加成功
yum list docker-ce --showduplicates | sort -r
✅ 说明:使用阿里云镜像源(
mirrors.aliyun.com)可大幅提升下载速度,比官方源更稳定。
📦 步骤 2:安装 Docker CE(社区版)
# 安装最新稳定版 Docker CE(含 CLI 和 containerd)
sudo yum install -y docker-ce docker-ce-cli containerd.io
# (可选)指定安装特定版本(例如 24.0.7):
# sudo yum install -y docker-ce-24.0.7 docker-ce-cli-24.0.7 containerd.io
⚙️ 步骤 3:配置 Docker(关键!适配京东云环境)
# 创建 Docker 配置目录
sudo mkdir -p /etc/docker
# 配置 daemon.json(启用 systemd cgroup 驱动 + 阿里云镜像提速 + 日志限制)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
},
"storage-driver": "overlay2",
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://registry.docker-cn.com"
],
"live-restore": true,
"insecure-registries": []
}
EOF
# 重载 systemd 配置
sudo systemctl daemon-reload
✅ 说明:
native.cgroupdriver=systemd:与 CentOS 7 的 systemd 兼容,避免 kubelet 冲突(若后续部署 Kubernetes)。- 镜像提速器:USTC、网易、Docker 中国站(三选一或全填,自动择优)。
overlay2是推荐存储驱动(需内核 ≥ 3.10 + xfs/ext4 文件系统,京东云默认满足)。
▶️ 步骤 4:启动并设置开机自启
# 启动 Docker 服务
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
# 检查状态(应显示 active (running))
sudo systemctl status docker
👤 步骤 5:配置非 root 用户免 sudo 运行 Docker(可选但推荐)
# 创建 docker 组(如不存在)
sudo groupadd docker
# 将当前用户(如 jd-user)加入 docker 组(替换为你的用户名)
sudo usermod -aG docker $USER
# 生效组权限(立即生效,无需重启,但需重新登录 shell)
newgrp docker
# 验证(执行后不应报 permission denied)
docker run hello-world
💡 提示:若使用京东云控制台 Web Terminal 或 SSH 登录,执行
newgrp docker后即可生效;否则需退出重登。
✅ 步骤 6:验证安装(终极确认)
# 1. 查看 Docker 版本
docker --version # e.g., Docker version 24.0.7, build 118e22c
# 2. 查看详细信息
docker info | grep -E "(Server Version|Storage Driver|Cgroup Driver|Registry Mirrors)"
# 3. 运行测试容器(首次会拉取镜像)
docker run --rm alpine echo "Hello from JD Cloud + Docker!"
# 4. 查看运行中的容器(应为空)
docker ps -a
🔒 安全加固建议(生产环境必做)
- 禁用远程未加密 socket(默认只监听
/var/run/docker.sock,安全)
❌ 不要启用-H tcp://0.0.0.0:2375(除非配置 TLS 认证)。 - 定期更新 Docker:
sudo yum update docker-ce docker-ce-cli containerd.io -y sudo systemctl restart docker - 限制容器资源(通过
--memory,--cpus启动时指定)。 - 使用
docker scan或 Trivy 扫描镜像漏洞。
❌ 常见问题排查
| 现象 | 解决方案 |
|---|---|
Cannot connect to the Docker daemon |
检查 sudo systemctl status docker;确认用户在 docker 组并执行 newgrp docker |
overlay2 not supported |
升级内核至 ≥ 3.10(京东云 CentOS 7 默认满足),或检查文件系统类型:df -T /(需 xfs/ext4) |
Failed to start docker.service: Unit not found |
检查 yum list installed | grep docker 是否安装成功;重试 yum install |
| 拉取镜像超时 | 检查 /etc/docker/daemon.json 中 registry-mirrors 是否生效(sudo systemctl restart docker 后 docker info 查看) |
📌 补充说明(京东云特别提示)
- 京东云 CentOS 镜像已预装常用工具,但 Docker 需手动安装(无预装)。
- 实例安全组需开放 容器暴露端口(如 80/443),无需开放 Docker daemon 端口(2375/2376)。
- 若使用京东云容器服务(JDCCS),建议直接使用其托管集群,无需手动装 Docker。
✅ 完成! 你现在已在京东云 CentOS 7 上成功部署了生产级 Docker 环境。
下一步可部署 Nginx、MySQL,或接入京东云容器 Registry(jr.jdcloud.com)进行私有镜像管理。
如需一键脚本、Docker Compose 安装、或 Kubernetes(kubeadm)部署指南,欢迎继续提问! 🐳
云服务器