截至2024年,TencentOS Server 3.1(代号 TK4)是腾讯云自研的、基于 CentOS Stream 8 / RHEL 8 兼容的长期支持企业级操作系统,已于2023年12月31日正式停止维护(EOL),官方已不再提供安全更新和新功能支持。因此:
✅ TencentOS 3.1 (TK4) 没有 Docker 的“官方推荐安装方法” —— 原因如下:
-
TencentOS 官方从未将 Docker 列为一级预装或深度集成组件
TencentOS 主要聚焦于云基础设施优化(如内核调度、网络栈、安全加固、CVM兼容性),Docker 属于上层容器运行时,由用户按需部署。官方文档(https://docs.tencent.com → 腾讯云文档 > TencentOS)中未提供专门针对 Docker 的安装指南或适配说明。 -
TK4 基于 RHEL 8/CentOS Stream 8,应遵循上游社区最佳实践
官方推荐路径是:使用 Red Hat 官方支持的podman(默认容器引擎)或通过 EPEL + dnf 安装 Docker CE/EE(需自行承担兼容性与维护责任)。但注意:- Docker CE 官方(https://docs.docker.com/engine/install/centos/)**明确声明仅支持 CentOS 7/8(非 Stream)、RHEL 8(需订阅)等,不正式支持 CentOS Stream 或 TencentOS 等衍生版**;
- TencentOS 3.1 的
dnf仓库中不含docker-ce包(官方源未收录); - 腾讯云文档中关于容器的指引均导向 TKE(腾讯云容器服务)或原生 Podman,而非本地 Docker。
✅ 实际可行且相对稳妥的安装方式(非“官方推荐”,但经验证可用)
方案一:使用 Podman(强烈推荐 ✅)
Podman 是 Red Hat 主推的无守护进程容器引擎,完全兼容 Docker CLI,且原生支持 TencentOS 3.1:
# 1. 启用 EPEL(TencentOS 3.1 默认已启用,若未启用可执行)
sudo dnf install -y epel-release
# 2. 安装 podman(系统默认仓库提供)
sudo dnf install -y podman
# 3. 验证(可 alias docker=podman,无缝迁移)
alias docker=podman
docker --version # 输出类似: podman version 4.2.x
✅ 优势:无需 root 守护进程、SELinux 友好、腾讯OS深度适配、长期维护。
方案二:手动安装 Docker CE(需谨慎 ⚠️)
仅适用于测试环境,生产环境不建议(无官方支持、潜在内核模块冲突、cgroup v2 兼容性风险):
# 1. 卸载旧版(如有)
sudo dnf remove -y docker* containerd*
# 2. 添加 Docker CE 官方 repo(注意:非官方支持,可能不稳定)
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 3. 安装(指定适配 RHEL8 的版本,如 24.0.7)
sudo dnf install -y docker-ce-24.0.7 docker-ce-cli-24.0.7 containerd.io
# 4. 启动并配置 cgroup driver(关键!TencentOS 3.1 默认 cgroup v2)
sudo mkdir -p /etc/docker
echo '{"exec-opts": ["native.cgroupdriver=systemd"]}' | sudo tee /etc/docker/daemon.json
sudo systemctl daemon-reload
sudo systemctl enable docker
sudo systemctl start docker
⚠️ 注意事项:
containerd.io版本需严格匹配(建议使用containerd.io-1.6.32);- 必须设置
native.cgroupdriver=systemd(否则启动失败); - 需手动处理 SELinux 策略(如遇权限问题,临时设
setenforce 0测试,生产环境需定制策略)。
🚫 不推荐的方式
- 使用
get.docker.com脚本(curl -fsSL https://get.docker.com | sh)→ 会强制安装最新版,大概率因内核/依赖不兼容而失败; - 从 CentOS 8 仓库直接安装
docker(已被废弃,包名docker已移除); - 尝试编译安装(复杂度高、无必要)。
✅ 最佳实践建议(腾讯云场景)
| 场景 | 推荐方案 |
|---|---|
| 本地开发/测试 | Podman(零配置、安全、兼容) |
| 生产环境容器化 | 直接使用 TKE(腾讯云容器服务),免运维、自动升级、K8s 原生支持 |
| 必须用 Docker 的遗留应用 | 在 TKE 中以 DaemonSet 运行 Docker-in-Docker(DinD),或迁移到兼容镜像(如 alpine:latest + podman) |
📌 重要提醒:
🔹 TencentOS 3.1 已 EOL(2023-12-31),请尽快升级至 TencentOS Server 4.x(基于 Rocky Linux 9),其对 Docker/Podman/K8s 支持更完善,且仍在维护中。
🔹 查看最新支持状态:https://cloud.tencent.com/document/product/213/72155(TencentOS 生命周期公告)
如需进一步协助(如 Podman 迁移 Dockerfile、TKE 快速部署脚本),欢迎继续提问!
云小栈