<七> CentOS 8 安装最新版本Docker

一、安装Docker前,请先保证linux机器上已安装yum源,yum源的配置见

CentOS 8 配置YUM源超详细教程(本地源+网络源)-CSDN博客

或者

CentOS 8 配置YUM源超详细教程(本地源+网络源)_centos8配置yum源-CSDN博客

二、安装Docker

1、卸载老版本

复制代码
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2、安装依赖包

在安装 Docker 之前,先安装 yum-utils,这个工具可以帮助我们更好地管理软件包:

复制代码
sudo yum install -y yum-utils

3、添加 Docker 仓库

接下来,我们需要添加 Docker 的官方仓库,以便能够下载最新版本的 Docker:

复制代码
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4、安装 Docker

现在可以安装 Docker 了。运行以下命令进行安装:

复制代码
sudo yum install docker-ce docker-ce-cli containerd.io -y

注意:安装过程中可能出现以下错误:

①podman-manpages包冲突问题

在执行安装docker命令,出现包冲突`js

podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch

卸载 podman-manpages

复制代码
yum list podman-manpages  #查看 podman-manpages
yum remove podman-manpages.noarch  #卸载podman-manpages.noarch
#再次重新安装docker
sudo yum install docker-ce docker-ce-cli containerd.io

②runc包冲突问题

✅ 问题总结

1、buildah 需要 runc >= 1.0.0-26,但系统中没有合适的版本。

2、containerd.io 与当前系统中已安装的 runc 版本冲突。

3、某些 runc 版本被模块过滤器(module filter)过滤掉,无法安装

解决方案:

1、如果已有 runc 安装并导致冲突,可以尝试卸载:

复制代码
sudo dnf remove runc

2、然后再尝试安装 Docker:

复制代码
sudo dnf install docker-ce docker-ce-cli containerd.io

③无法从 Docker 官方源下载 containerd.io RPM 包,提示 SSL 连接异常(SSL_ERROR_SYSCALL),这通常与网络、SSL/TLS 配置或源地址失效有关。

🔍 问题分析

1、SSL/TLS 连接失败:可能是网络代理、防火墙、系统时间错误或 OpenSSL 版本过低导致。

2、源地址失效或不可达:Docker 官方仓库可能无法访问,尤其是在中国大陆地区。

3、CentOS 8 已停止维护:Docker 官方可能已不再为 CentOS 8 提供稳定的镜像源支持。

解决方案:

1、添加阿里云的docker源

复制代码
sudo dnf install -y yum-utils
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2、安装docker

复制代码
sudo dnf install -y docker-ce docker-ce-cli containerd.io

至此,docker安装成功!

三、启动和测试docker

1、启动docker服务

复制代码
sudo systemctl start docker

2、验证docker是否安装成功

复制代码
sudo systemctl status docker

如果一切正常,您应该会看到 Docker 服务的状态为 active (running)

四、设置Docker自启动

1、为了让 Docker 在系统启动时自动启动,可以使用以下命令:

复制代码
sudo systemctl enable docker

2、您可以运行以下命令来确认 Docker 服务已设置为自动启动:

复制代码
sudo systemctl is-enabled docker

五、常用 Docker 命令

以下是一些常用的 Docker 命令,可以帮助您快速上手:

命令 描述
sudo docker ps 列出当前运行的容器
sudo docker images 列出本地存储的所有镜像
sudo docker run image 使用指定镜像创建并运行一个新容器
sudo docker stop container 停止运行中的容器
sudo docker rm container 删除一个容器
sudo docker rmi image 删除一个镜像
sudo docker exec -it container /bin/bash 进入运行中的容器并打开 bash shell

六、卸载 Docker

如果您需要完全卸载 Docker,可以使用以下命令:

复制代码
sudo yum remove docker-ce docker-ce-cli containerd.io -y
sudo rm -rf /var/lib/docker

总结

通过以上步骤,您已经成功在 CentOS 上安装了 Docker,并配置了它在系统启动时自动启动。Docker 的强大功能使得应用的部署与管理变得更加高效与灵活。无论是开发环境还是生产环境,Docker 都能提供极大的便利。

相关推荐
Promise微笑19 分钟前
红外分辨率 160×120、320×240、384×288 与 640×480实战选型指南
大数据·运维·人工智能·物联网
云飞云共享云桌面1 小时前
单机建模卡顿运维繁琐!中小型机械制造厂云飞云 3D 云桌面落地
运维·服务器·网络·3d·自动化·电脑·负载均衡
donoot1 小时前
一次 Nginx 502 问题的深度排查:从 SELinux 到容器网络
nginx·docker·selinux·反向代理·502 bad gateway
zandy10112 小时前
体验家 XMPlus 批量操作与自动化工作流引擎:让大规模运营从手动执行走向规则驱动
大数据·运维·自动化
Sagittarius_A*3 小时前
Docker:渗透前置容器化核心基础
运维·安全·docker·容器
阿米亚波5 小时前
【EVE-NG 实战】防火墙基础(VLAN · VRRP · NAT · ACL · 静态路由)
运维·网络·笔记·网络协议·计算机网络·网络安全·运维开发
日取其半万世不竭5 小时前
云服务器迁移怎么少停机?DNS 切换前后的完整清单
运维·服务器
FREEDOM_X6 小时前
Linux 多线程编程——总结
java·linux·运维·ubuntu
名字还没想好☜6 小时前
Docker 多阶段构建:把镜像从 1.2GB 砍到 15MB
运维·docker·容器·多阶段构建·镜像优化
祸心依旧6 小时前
Visual Studio 五月更新 —— 计划、评审、优化
运维·人工智能·visual studio