是的,在 CentOS 8 中可以使用 yum (实际上是 dnf 的别名)来安装 Docker。不过由于 CentOS 8 默认安装了 Podman,你需要先处理冲突。以下是完整的 yum/dnf 安装方法:
方法一:使用 yum/dnf 直接安装(处理冲突版本)
步骤 1: 移除冲突包
bash
# 移除 podman 及相关包
sudo yum remove -y podman buildah
# 移除容器相关模块
sudo yum module reset -y container-tools
步骤 2: 添加 Docker 官方仓库
bash
# 安装 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
bash
# 查看可用的 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: 启动和设置
bash
# 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装
docker --version
sudo docker run hello-world
验证和测试
无论使用哪种方法,最后验证:
bash
# 启动服务
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
总结建议
-
如果只是需要容器运行环境 :使用 Podman (
sudo yum install -y podman podman-docker),这是 CentOS 8 的默认选择,无冲突 -
如果需要完整的 Docker 生态系统:
- 先移除 Podman:
sudo yum remove -y podman buildah - 再安装 Docker:
sudo yum install -y docker-ce docker-ce-cli containerd.io
- 先移除 Podman:
-
如果遇到严重冲突:使用方法四的完整清理方案
注意 :CentOS 8 中 yum 实际上是 dnf 的符号链接,两者是等效的。
#拉取失败,换镜像
编辑Docker配置文件,添加多个国内主流且稳定的镜像源
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.xuanyuan.me", # 备用源1
"https://mirror.baidubce.com", # 备用源2(百度云)
"https://registry.cn-hangzhou.aliyuncs.com" # 备用源3(阿里云,需登录后免费获取专用地址)
]
}
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
可用
可用
可用