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

相关推荐
RisunJan14 小时前
Linux命令-skill(发送信号给进程)
linux·运维·服务器
潘正翔14 小时前
k8s基础_kubeadm搭建k8s集群
linux·运维·docker·云原生·容器·kubernetes
Echo flower14 小时前
Docker 容器中 Puppeteer 僵尸进程排查与修复
运维·docker·容器·puppeteer
骊城英雄14 小时前
彩笔运维勇闯机器学习--逻辑回归
运维·机器学习·逻辑回归
孪生质数-15 小时前
AI 应用实践篇——让大模型真正开始工作
linux·运维·服务器·人工智能·深度学习·语言模型·llama
Splashtop高性能远程控制软件15 小时前
连锁零售多门店远程运维指南:从故障响应到批量运维的四项能力
运维·零售·远程控制·splashtop
瞬间&永恒~15 小时前
【MySQL】 InnoDB 锁等待排查与并发压测实验
运维·数据库·mysql
潘正翔15 小时前
k8s进阶_Harbor镜像仓库
git·云原生·容器·kubernetes·gitee·github
江湖有缘15 小时前
Docker实战 | 使用Docker部署Donetick任务与家务管理应用
运维·docker·容器
流星白龙16 小时前
【Docker】4.NameSpace空间隔离实战
java·运维·docker