加油
努力

在CentOS 7上推荐安装哪个稳定的Docker版本?

在 CentOS 7 上,官方推荐且最稳定、兼容性最好的 Docker 版本是 Docker CE(Community Edition)的 20.10.x 系列(尤其是 20.10.2420.10.25),但需注意:

关键事实与推荐结论:

Docker 官方自 2023 年底起已停止对 CentOS 7 的 Docker CE 24.x+ 和 25.x 的官方支持(因 CentOS 7 的内核(3.10.x)和用户空间过旧,无法满足新版本对 systemd, runc, containerd 的最低要求)。
因此,最稳定、经过充分验证、长期被生产环境采用的版本是:
👉 docker-ce-20.10.24(或 20.10.25) + docker-ce-cli-20.10.24 + containerd.io-1.6.33
(对应 `2023 年中发布的 LTS 兼容版本,是最后一个全面支持 CentOS 7 的稳定分支)


🔍 为什么推荐 20.10.x(而非更新的 24.x/25.x)?

项目 20.10.x(推荐) 24.x / 25.x(不推荐)
内核兼容性 完美支持 CentOS 7 默认内核 3.10.0-1160+ 要求 ≥ 4.18(需手动升级内核,破坏系统稳定性)
systemd 支持 兼容 systemd-219(CentOS 7.9 默认) 要求 ≥ systemd-240(CentOS 7 不提供)
安全与维护 20.10.24 是 20.10 系列的最终安全补丁版(2023-09 发布),含全部 CVE 修复 官方已标记为 EOL for CentOS 7;24.x+ 在 CentOS 7 上安装会失败或运行异常(如 cgroup v2 冲突、runc panic)
生产验证 被大量X_X、政企客户在 CentOS 7 上长期使用(Red Hat OpenShift 4.x 早期也基于此) 无稳定生产案例,社区反馈频繁出现 failed to start daemon: failed to dial ... 等错误

✅ 推荐安装方式(官方仓库 + 精确版本)

# 1. 卸载旧版(如有)
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

# 2. 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 3. 添加 Docker 官方稳定仓库(启用 stable channel)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 4. 查看可用版本(确认 20.10.x 可用)
yum list docker-ce --showduplicates | sort -r

# 5. 安装指定稳定版本(推荐 20.10.24)
sudo yum install -y 
  docker-ce-20.10.24-3.el7 
  docker-ce-cli-20.10.24-3.el7 
  containerd.io-1.6.33-3.1.el7 
  docker-buildx-plugin-0.13.1-3.el7 
  docker-compose-plugin-2.23.0-3.el7

# 6. 启动并设开机自启
sudo systemctl enable docker
sudo systemctl start docker

# 7. 验证(应显示 "Server Version: 20.10.24")
docker version
docker run --rm hello-world

💡 提示:containerd.io-1.6.3320.10.24 的配套版本(1.7.x 以上不再支持 CentOS 7)。


⚠️ 重要注意事项

  • 不要使用 curl -fsSL https://get.docker.com | sh —— 该脚本默认安装最新版(如 24.0.7),在 CentOS 7 上必然失败
  • 避免启用 docker-ce-nightlytest 仓库 —— 会导致版本冲突。
  • 建议升级到 CentOS Stream 8/9 或 Rocky/AlmaLinux 8+:若条件允许,这些系统原生支持 Docker 24.x+,获得长期安全更新。
  • 🔐 安全加固:安装后务必执行:
    sudo usermod -aG docker $USER  # 当前用户加入 docker 组
    sudo setsebool -P container_manage_cgroup on  # SELinux 兼容(如启用)

📚 官方依据

  • Docker 官方 EOL 声明:Docker Engine release notes – 20.10.24
  • CentOS 7 兼容性说明:Docker Docs – CentOS(明确要求 kernel ≥ 3.10,但新版实际需要更高)

如需我为你生成完整可执行的安装脚本、配置阿里云镜像提速、或迁移至 Podman(CentOS 7 原生推荐替代方案),欢迎随时告知! 🐳

云服务器