努力
加油

使用腾讯云CVM时,安装Docker推荐用Ubuntu镜像还是CentOS镜像?

在腾讯云 CVM 上安装 Docker,目前强烈推荐使用 Ubuntu(特别是 LTS 版本,如 20.04 或 22.04)。

虽然 CentOS 曾经是国内服务器的主流选择,但鉴于 CentOS 8 已停止维护、CentOS Stream 的定位变化以及社区生态的转移,现在的最佳实践已经发生了根本性转变。以下是从技术稳定性、兼容性、运维效率和国内云环境适配四个维度的详细分析:

1. 核心原因:CentOS 的“黄昏”与替代品的缺失

  • CentOS 8 EOL:CentOS 8 已于 2021 年底结束生命周期(EOL)。这意味着官方不再提供安全更新和 Bug 修复。继续使用存在严重的安全隐患。
  • CentOS Stream 不是替代品:CentOS Stream 是滚动更新的发行版,更接近 Fedora Rawhide,用于测试上游代码。对于追求稳定性的生产环境服务器来说,它并不合适。
  • Rocky Linux / AlmaLinux 的门槛:虽然 Rocky Linux 和 AlmaLinux 是 CentOS 的合格继承者,但在国内云服务器市场中,它们的镜像预装率、文档支持度和社区问答资源远不如 Ubuntu 丰富。你在腾讯云控制台创建实例时,Ubuntu 的选项更直观,初始化脚本也更成熟。

2. 为什么 Ubuntu 是 Docker 的“亲儿子”?

Docker 官方本身就在大力推动对 Debian/Ubuntu 的支持。

  • 原生支持最好:Docker 的安装脚本、官方仓库、以及大多数开源项目的 CI/CD 流程,默认首选就是 Ubuntu。你遇到的报错信息,绝大多数都能直接在 StackOverflow 或 GitHub Issues 中找到基于 Ubuntu 的解决方案。
  • 内核与模块兼容性:Docker 依赖 Linux 内核特性(如 cgroups, namespaces, overlayfs)。Ubuntu 的内核版本通常较新且经过充分测试,对新版 Docker 引擎(尤其是 v20.10+)和新特性(如 rootless mode, buildkit)的支持更无缝。
  • 包管理器优势:apt 的使用体验优于 yum/dnf,尤其在处理依赖关系时更少出错。对于开发者而言,在 Ubuntu 上配置开发环境(Node.js, Python, Go 等)也更为顺畅。

3. 腾讯云 CVM 环境下的实际考量

  • 镜像优化:腾讯云提供的 Ubuntu 镜像已经针对云环境做了深度优化,包括网络提速、监控插件预装、SSH 安全加固等。这些优化在 CentOS 镜像上同样存在,但由于 CentOS 用户基数减少,厂商对新功能的支持重心已明显偏向 Ubuntu。
  • 安全组与防火墙:Ubuntu 默认使用 ufw(Uncomplicated Firewall),配置简单直观;而 CentOS 默认使用 firewalld,规则复杂且容易因策略冲突导致端口不通。对于新手或快速部署场景,Ubuntu 的防火墙管理更友好。
  • 字体与中文支持:如果你需要在容器内运行涉及中文显示的应用(如报表生成、OCR 识别),Ubuntu 的中文字体包管理和安装比 CentOS 更便捷,不易出现乱码问题。

4. 什么情况下可以考虑其他系统?

  • 遗留系统迁移:如果你的业务代码强依赖 RHEL/CentOS 特有的 RPM 包或 systemd 行为,且重构成本极高,那么建议使用 AlmaLinux 9 或 Rocky Linux 9 作为过渡,而不是强行使用过时的 CentOS 7/8。
  • 极简主义/嵌入式场景:如果资源极度受限(如几 MB 内存的微型容器宿主机),可以考虑 Alpine Linux,但它不适合做主服务器,仅适合做轻量级容器基础镜像。

✅ 推荐操作方案

  1. 选择镜像:在腾讯云控制台创建 CVM 时,选择 Ubuntu 22.04 LTS(当前长期支持版本,支持至 2027 年)。

  2. 安装 Docker:

    # 更新包索引
    sudo apt update
    
    # 安装必要依赖
    sudo apt install -y ca-certificates curl gnupg
    
    # 添加 Docker 官方 GPG 密钥
    sudo install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    
    # 添加 Docker 软件源
    echo 
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu 
      $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | 
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    # 安装 Docker Engine
    sudo apt update
    sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
  3. 非 root 用户运行(可选但推荐):

    sudo groupadd docker
    sudo usermod -aG docker $USER
    # 重新登录生效

总结

不要再用 CentOS 了。
对于新的腾讯云 CVM + Docker 项目,Ubuntu 22.04 LTS 是当前最安全、最稳定、社区支持最完善的组合。它能让你避开大量因系统过时导致的兼容性问题,专注于业务逻辑本身。