加油
努力

CentOS 7.9适合安装哪个长期支持的Docker版本?

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,无安全更新;缺少对 buildxdocker 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 的兼容命令映射表

欢迎随时提出 👍

云服务器