<七> 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 都能提供极大的便利。

相关推荐
工作10年+,存储芯片行业21 分钟前
Linux NVMe 中断排查与性能优化:CPU 亲和性
linux·运维·服务器·windows·性能优化·ssd·pcie
快乐の番薯44 分钟前
卷王问卷考试系统自动化功能测试
运维·功能测试·自动化
一号弯1 小时前
装完LINUX,请先新建日常用户
linux·运维·服务器
许彰午2 小时前
03-Linux环境准备依赖包内核参数与用户组
linux·运维·服务器·数据库
阳光九叶草LXGZXJ2 小时前
达梦数据库-报错-16-MERGE INTO提示:无效的列名[XX]
linux·运维·数据库·sql·学习
sbjdhjd3 小时前
云安全 | Docker 容器逃逸复盘(二):2375 未授权接口如何突破容器管理边界
网络安全·docker·云原生·数据挖掘·开源·云计算·云安全
一号弯3 小时前
Hyperv的LINUX虚拟机扩容
linux·运维·服务器
一条大祥脚4 小时前
【CS336】lecture4 MoE|负载均衡|MoE并行|训练稳定性|Deepseek回顾
运维·负载均衡
lpfasd1234 小时前
nginx服务化五套方案原理解剖与选型
运维·nginx
Pointer Pursuit5 小时前
Linux调试器 ——gdb/cgdb
linux·运维·服务器