CentOS 7.9(内核版本通常为 3.10.0-1160.x.el7)属于较老但稳定的 RHEL/CentOS 7 系统,其内核(3.10)对容器运行时的支持有一定限制(如缺少部分 cgroup v2、overlay2 的早期支持需手动启用等)。因此,选择 Docker 版本时需兼顾兼容性、安全性和长期支持(LTS)特性。
⚠️ 重要前提:
Docker 官方 自 2023 年底起已停止对 CentOS 7 的官方支持(Docker Engine 24.0+ 不再提供 CentOS 7 RPM 包),且 Docker CE 不再发布“LTS”版本(Docker 自 2022 年起取消了正式的 LTS 命名机制,改为每季度发布稳定版 + 长期维护支持周期)。
✅ 最推荐的 事实上的长期支持(长期稳定、社区广泛验证、安全更新持续较久)版本是:
✅ Docker Engine 20.10.x(特别是 20.10.24 或 20.10.25)
- 支持状态:Docker 官方对
20.10系列提供了 长达 2 年的安全补丁支持(EOL 为 2023年12月),但因其在 CentOS 7 上极其成熟稳定,大量生产环境(包括银行、政企)仍在使用,并可通过离线方式继续打补丁或配合containerd 1.6.x使用。 - 兼容性:
- 完美支持 CentOS 7.9 内核(3.10.0-1160+);
- 默认使用
overlay2存储驱动(需确保/var/lib/docker所在文件系统为 XFS(推荐带ftype=1)或 ext4); - 兼容 systemd 219+(CentOS 7.9 自带 systemd-219-78.el7_9.3,满足要求);
- 与
containerd 1.6.28(20.10 默认捆绑版本)协同稳定。
- 安装来源:
官方历史仓库仍可访问(虽已归档):# 启用 Docker CE 20.10 仓库(适用于 CentOS 7) sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 查看可用版本 yum list docker-ce --showduplicates | sort -r # 安装指定版本(例如 20.10.24) sudo yum install docker-ce-20.10.24 docker-ce-cli-20.10.24 containerd.io-1.6.28
🔍 其他可行选项对比:
| 版本 | 是否推荐 | 原因说明 |
|---|---|---|
| Docker 23.0.x / 24.0.x | ❌ 不推荐 | 不再提供 CentOS 7 RPM;依赖较新内核特性(如 cgroup v2 强制、io_uring)、systemd 245+,在 CentOS 7.9 上编译/运行失败或不稳定。 |
| Docker 19.03.15(最后支持 CentOS 7 的 19.03) | ⚠️ 可用但不推荐 | EOL 已于 2022-06-30,无安全更新;缺少对 buildx、docker scan 等现代功能支持;containerd 版本过旧(1.4.x)存在已知漏洞。 |
| Podman(替代方案) | ✅ 强烈推荐作为长期演进方向 | Red Hat 官方支持,原生兼容 CentOS 7.9(podman-3.4.4 是 RHEL7/CentOS7 最后稳定版),无守护进程、rootless 友好、符合 OCI 标准,且 Red Hat 持续维护至 CentOS 7 EOL(2024-06-30)。 |
📌 关键配置建议(CentOS 7.9 + Docker 20.10):
# 1. 确保内核参数优化(/etc/sysctl.conf)
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
echo 'vm.swappiness = 0' >> /etc/sysctl.conf
sysctl -p
# 2. 推荐存储驱动(/etc/docker/daemon.json)
{
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"],
"log-driver": "json-file",
"log-opts": {"max-size": "10m", "max-file": "3"}
}
# 3. 启动并设为开机自启
sudo systemctl enable docker && sudo systemctl start docker
✅ 总结建议:
对于 CentOS 7.9,生产环境应选用
Docker Engine 20.10.24(或.25)——这是兼容性、稳定性与安全支持周期的最佳平衡点。
同时,务必规划向 Podman 或迁移到 CentOS Stream 8/9 / Rocky Linux 8+ 的路线图,因为 CentOS 7 已于 2024年6月30日终止生命周期(EOL),后续将不再获得任何安全更新。
如需,我可为你提供:
- 完整的离线安装包下载链接(20.10.24 + containerd 1.6.28)
- Podman 替代部署指南(含 rootless 配置)
- 从 Docker 迁移到 Podman 的兼容命令映射表
欢迎随时提出 👍
云小栈