OpenCloudOS Server 9.0 安装docker?

OpenCloudOS Server 9.0 上安装 Docker,由于其基于 RHEL/CentOS 9 系列,使用 dnf 作为包管理器,并且默认的软件源中可能不包含最新版 Docker(Docker 官方已将 docker-ce 从许多第三方源中移除或重命名),推荐使用 Docker 官方脚本安装方式手动配置官方仓库

以下是推荐的安装步骤:


✅ 方法一:使用 Docker 官方一键安装脚本(推荐)

这是最简单、最可靠的方式。

1. 更新系统

sudo dnf update -y

2. 安装必要的依赖

sudo dnf install -y dnf-plugins-core

3. 使用官方脚本安装 Docker

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

该脚本会自动检测系统类型并配置合适的仓库,安装 docker-cedocker-ce-clicontainerd.io 等组件。

4. 将当前用户加入 docker 组(避免每次使用 sudo)

sudo usermod -aG docker $USER

注:需要重新登录或重启 shell 才能生效。

5. 启动并启用 Docker 服务

sudo systemctl enable docker --now
sudo systemctl start docker

6. 验证安装

docker --version
docker run hello-world

✅ 方法二:手动添加 Docker 官方仓库(适合生产环境)

如果你不想用脚本,可以手动配置仓库。

1. 添加 Docker 的官方 YUM 仓库

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

注意:OpenCloudOS 9 对应 CentOS Stream 9,Docker 官方目前对 CentOS 9 的支持有限。如果报错找不到包,可以尝试使用 CentOS 8 的仓库(兼容性较好):

sudo curl -o /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

然后修改 repo 文件中的 $releasever8,或直接替换 baseurl 中的 $releasever8

baseurl=https://download.docker.com/linux/centos/8/x86_64/stable/

编辑文件:

sudo vi /etc/yum.repos.d/docker-ce.repo

替换所有 $releasever/$releasever//8/

2. 安装 Docker

sudo dnf install -y docker-ce docker-ce-cli containerd.io

3. 启动服务并添加用户组

sudo systemctl enable docker --now
sudo usermod -aG docker $USER

4. 验证

docker run hello-world

⚠️ 常见问题

  1. 报错:Cannot find a valid baseurl for repo
    检查网络连接,或尝试更换 DNS:

    echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
  2. Docker 仓库中没有适用于 RHEL 9 的包?
    是的,Docker 官方尚未全面支持 RHEL 9/CentOS Stream 9。因此使用 方法一(get.docker.com) 更稳妥,它会自动处理兼容性。

  3. 替代方案:使用 Podman
    OpenCloudOS 推荐使用 podman 作为默认容器运行时(无守护进程,兼容 Docker CLI):

    sudo dnf install -y podman

    使用方式与 Docker 几乎一致。


✅ 总结

步骤 命令
更新系统 sudo dnf update -y
安装脚本 curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh
加入用户组 sudo usermod -aG docker $USER
启动服务 sudo systemctl enable docker --now
验证 docker run hello-world

如需安装 Docker Compose,请额外执行:

# 下载最新版 Docker Compose(替换 v2.27.0 为最新版本)
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose

# 验证
docker-compose --version

如有具体报错信息,欢迎提供,我可以进一步协助。