总体来说,Docker 在 CentOS 上非常好用,尤其是在企业服务器和传统的生产环境中,CentOS 一直是 Docker 的经典宿主系统之一。
不过,由于 CentOS 8 已于 2021 年停止维护(EOL),而 CentOS 7 也在 2024 年 6 月 30 日停止维护,因此在选择时需要特别注意版本和替代方案。
以下是详细的分析和建议:
yum(或 CentOS 8 的 dnf),但 Docker 官方提供了完善的仓库支持,安装过程通常很顺畅。由于 CentOS 的停服,直接使用 CentOS 作为新系统的宿主机存在安全风险(无法获得安全更新)和软件源失效风险。
如果你必须要在现有的 CentOS 机器上运行 Docker,建议遵循以下步骤:
yum 安装 docker 包: CentOS 默认源里的 Docker 版本通常非常旧(叫 docker 或 docker-common),且可能功能不全。docker-ce(Community Edition)。firewalld。Docker 和 firewalld 有时会有冲突,通常建议熟悉两者配置,或者确保 Docker 的网络桥接设置正确。既然 CentOS 已经停止维护,如果你打算新部署服务器,建议考虑以下替代系统,它们对 Docker 的支持同样优秀,甚至更好:
| 替代系统 | 特点 | 推荐理由 |
|---|---|---|
| Rocky Linux | RHEL 的 1:1 二进制复刻 | 最推荐。如果你习惯了 CentOS 的操作方式,Rocky Linux 是无缝替代,Docker 安装方式完全一样。 |
| AlmaLinux | RHEL 的另一个复刻 | 同样优秀,由 CloudLinux 团队维护,也是 CentOS 的完美替代品。 |
| Ubuntu Server | Debian 系 | 最流行。Docker 在 Ubuntu 上的文档最多,社区支持最广泛,内核更新通常较快。 |
| Debian | 稳定、轻量 | 非常稳定,适合作为精简的 Docker 宿主。 |
docker-ce 即可。示例:在 CentOS 7/8 (或者其他 RHEL 系如 Rocky/Alma) 上安装 Docker 的标准命令:
# 1. 卸载旧版本(如果有)
sudo yum remove docker docker-common docker-selinux docker-engine
# 2. 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 3. 添加 Docker 官方源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4. 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 5. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker