是的,在 CentOS 8 中可以使用 yum(实际上是 dnf 的别名)来安装 Docker。不过由于 CentOS 8 默认安装了 Podman,你需要先处理冲突。以下是完整的 yum/dnf 安装方法:

方法一:使用 yum/dnf 直接安装(处理冲突版本)

步骤 1: 移除冲突包

# 移除 podman 及相关包
sudo yum remove -y podman buildah

# 移除容器相关模块
sudo yum module reset -y container-tools

步骤 2: 添加 Docker 官方仓库

# 安装 yum-utils(如果还没安装)
sudo yum install -y yum-utils

# 添加 Docker 官方仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

步骤 3: 安装 Docker

# 查看可用的 Docker 版本
yum list docker-ce --showduplicates | sort -r

# 安装最新版本
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 或者安装特定版本(更稳定)
sudo yum install -y docker-ce-3:20.10.12-3.el8 docker-ce-cli-3:20.10.12-3.el8 containerd.io

步骤 4: 启动和设置

# 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker

# 验证安装
docker --version
sudo docker run hello-world

验证和测试

无论使用哪种方法,最后验证:

# 启动服务
sudo systemctl start docker
sudo systemctl enable docker

# 测试 Docker
sudo docker run hello-world

# 部署 Nginx
sudo docker run -d --name my-nginx -p 8080:80 nginx:alpine

# 访问测试
curl http://localhost:8080

总结建议

  1. 如果只是需要容器运行环境:使用 Podmansudo yum install -y podman podman-docker),这是 CentOS 8 的默认选择,无冲突

  2. 如果需要完整的 Docker 生态系统

    • 先移除 Podman:sudo yum remove -y podman buildah
    • 再安装 Docker:sudo yum install -y docker-ce docker-ce-cli containerd.io
  3. 如果遇到严重冲突:使用方法四的完整清理方案

注意:CentOS 8 中 yum 实际上是 dnf 的符号链接,两者是等效的。

#拉取失败,换镜像

编辑Docker配置文件,添加多个国内主流且稳定的镜像源

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me",
    "https://mirror.baidubce.com",
    "https://registry.cn-hangzhou.aliyuncs.com"
  ]
}
EOF

重启Docker使配置生效

sudo systemctl daemon-reload
sudo systemctl restart docker

验证所有镜像源是否都已生效

docker info | grep -A 10 “Registry Mirrors”

https://docker.1ms.run
毫秒镜像
可用
https://docker.xuanyuan.me
轩辕镜像
可用
https://dislabaiot.xyz

可用
https://docker.sunzishaokao.com
云港网络镜像
5.26不可用
https://hub.rat.dev
耗子面板
可用
https://doublezonline.cloud

可用
https://dislabaiot.xyz

可用
https://xdark.top

可用

更多推荐