OpenCloudOS 8.6 安装docker?

在 OpenCloudOS 8.6(基于 RHEL/CentOS 8 兼容生态,使用 dnf 和 systemd)上安装 Docker,官方推荐且最稳定的方式是安装 podman(默认容器运行时),但如果你明确需要 Docker Engine(即 dockerd + docker-cli,则需注意以下关键点:

⚠️ 重要前提:
OpenCloudOS 8.6 不提供官方 Docker CE 仓库支持(Docker 官方已停止对 RHEL 8/CentOS 8 的 .rpm 包更新,自 2023 年起仅支持 RHEL 9+)。
但可通过兼容方式安装 Docker CE 24.0.x(最后支持 RHEL 8 的版本) 或使用 社区维护的镜像源


✅ 推荐方案一:安装 Docker CE 24.0.7(最后兼容 RHEL 8 的稳定版)

步骤如下:

  1. 更新系统并安装必要依赖

    sudo dnf update -y
    sudo dnf install -y dnf-plugins-core yum-utils device-mapper-persistent-data lvm2
  2. 添加 Docker 官方 YUM 源(使用存档版配置)
    创建 /etc/yum.repos.d/docker-ce.repo

    sudo tee /etc/yum.repos.d/docker-ce.repo << 'EOF'
    [docker-ce-stable]
    name=Docker CE Stable - $basearch
    baseurl=https://download.docker.com/linux/centos/8/x86_64/stable
    enabled=1
    gpgcheck=1
    gpgkey=https://download.docker.com/linux/centos/gpg
    repo_gpgcheck=1
    EOF

    🔍 注:Docker 官方已将 centos/8 目录归档保留,该路径仍可访问(截至 2024 年中有效)。若未来失效,可改用国内镜像(见下方备选)。

  3. 安装 Docker CE 24.0.7(显式指定兼容版本)

    # 查看可用版本(确认 24.0.7 是否存在)
    dnf list docker-ce --showduplicates | sort -r
    
    # 安装指定版本(避免自动升级到不兼容的 25.x)
    sudo dnf install -y docker-ce-24.0.7-1.el8 docker-ce-cli-24.0.7-1.el8 containerd.io
  4. 启动并启用服务

    sudo systemctl enable docker
    sudo systemctl start docker
    sudo systemctl status docker  # 验证运行正常
  5. 验证安装

    sudo docker run --rm hello-world
    # 若提示 permission denied,将当前用户加入 docker 组:
    sudo usermod -aG docker $USER
    newgrp docker  # 刷新组权限(或重新登录)
    docker run --rm hello-world  # 无需 sudo

🌐 备选:使用阿里云镜像源(若官方源不可达)

download.docker.com 访问慢或失败,替换 baseurl 为阿里云镜像(同步存档):

sudo sed -i 's|https://download.docker.com/linux/centos/8|x86_64/stable|https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable|g' /etc/yum.repos.d/docker-ce.repo

✅ 阿里云镜像站已同步 Docker CE 24.0.x for CentOS 8,可靠稳定。


❌ 不推荐/不可行方案

  • dnf install docker → 安装的是旧版 docker(1.13,RHEL 8 自带,已废弃,无 dockerd、不支持现代镜像)。
  • 尝试安装 Docker CE 25.x+ → 会因依赖 libseccomp >= 2.5.0 等问题失败(RHEL 8 默认 libseccomp-2.4.3),强行升级可能破坏系统安全策略。
  • 使用 curl get.docker.com 脚本 → 该脚本默认拉取最新版(25.x),在 OpenCloudOS 8.6 上会失败,不建议。

✅ 替代建议:优先考虑 Podman(OpenCloudOS 原生推荐)

OpenCloudOS 8.6 默认预装并深度集成 Podman(无守护进程、rootless 友好、Docker CLI 兼容):

# 检查是否已安装
podman --version

# 若未安装:
sudo dnf install -y podman

# 使用别名模拟 docker 命令(可选)
sudo alias docker=podman
# 或永久生效:echo "alias docker=podman" >> ~/.bashrc && source ~/.bashrc

✅ 优势:无需 root、更安全、与 systemd 集成更好、完全兼容 docker run, docker build(v4.0+)等常用命令。


✅ 附:验证 OpenCloudOS 8.6 系统信息

cat /etc/os-release | grep -E "(NAME|VERSION)"
# 应输出类似:NAME="OpenCloudOS" VERSION="8.6"
uname -r  # 确认内核 ≥ 4.18(满足要求)

如需进一步帮助(例如:配置镜像提速器、启用 cgroup v2、离线安装、或迁移到 Podman),欢迎继续提问!🚀