docker基础
01、Docker简介
02、Docker的安装(通过yum安装)
03、Docker安装的问题补充
04、Docker的安装(通过RPM软件包)
05、Docker的安装(通过脚本安装)
06、Docker的卸载
07、Docker配置阿里云镜像加速器
08、Docker中的基本概念和底层原理
09、Docker常用命令(帮助命令)
10、Docker常用命令(镜像命令)
11、Docker常用命令(容器命令01)
12、Docker常用命令(容器命令02)
13、Docker常用命令(容器命令03)
14、Docker安装Nginx
15、Docker图形化管理工具Portainer
16、Docker镜像讲解
17、Docker镜像分层的理解
18、Docker镜像的commit操作
19、Docker容器数据卷介绍
20、Docker容器数据卷的应用
21、Docker中数据卷相关命令
22、Docker数据卷实现MySQL数据持久化
23、DockerFile的方式挂载数据卷
24、Docker数据卷容器的说明与共享数据原理
25、DockerFile文件详解
26、Docker实战:自定义CentOS镜像
27、CMD指令和ENTRYPOINT指令的区别
28、ONBUILD指令介绍
29、COPY指令和ADD指令
30、自定义Tomcat9镜像
31、发布镜像到DockerHub
32、将本地镜像推送到阿里云
33、补充:save和load命令说明
34、Jenkins + Docker + Github 自动部署
本文档使用 MrDoc 发布
-
+
首页
03、Docker安装的问题补充
通过yum安装Docker的时候,安装20版本的Docker没有出现问题,在安装17版本的时候,出现了问题。 问题复现,下面记录一下这个问题。 ### **1、问题复现** 1. 安装17.03版本Docker ```python 执行 [root@localhost ~]# yum install docker-ce-17.03.0.ce 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 docker-ce.x86_64.0.17.03.0.ce-1.el7.centos 将被 安装 --> 正在处理依赖关系 docker-ce-selinux >= 17.03.0.ce-1.el7.centos,它被软件包 docker-ce-17.03.0.ce-1.el7.centos.x86_64 需要 软件包 docker-ce-selinux 已经被 docker-ce 取代,但是取代的软件包并未满足需求 --> 解决依赖关系完成 错误:软件包:docker-ce-17.03.0.ce-1.el7.centos.x86_64 (docker-ce-stable) 需要:docker-ce-selinux >= 17.03.0.ce-1.el7.centos 可用: docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch (docker-ce-stable) docker-ce-selinux = 17.03.0.ce-1.el7.centos 可用: docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch (docker-ce-stable) docker-ce-selinux = 17.03.1.ce-1.el7.centos 可用: docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch (docker-ce-stable) docker-ce-selinux = 17.03.2.ce-1.el7.centos 可用: docker-ce-selinux-17.03.3.ce-1.el7.noarch (docker-ce-stable) docker-ce-selinux = 17.03.3.ce-1.el7 您可以尝试添加 --skip-broken 选项来解决该问题 您可以尝试执行:rpm -Va --nofiles --nodigest ``` 看到上边提示,需要一个依赖包。这个依赖包就是docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm。其实只有docker-ce的17.03的前几个版本需要上边的依赖包,其他版本不需要。 2. 安装依赖包docker-ce-selinux 执行语句: ```python yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm ``` 提示如下: ```python 已加载插件:fastestmirror docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm | 28 kB 00:00:00 正在检查 /var/tmp/yum-root-81R4tG/docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm: docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch /var/tmp/yum-root-81R4tG/docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm 将被安装 正在解决依赖关系 --> 正在检查事务 ---> 软件包 docker-ce-selinux.noarch.0.17.03.0.ce-1.el7.centos 将被 安装 --> 处理 docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch 与 docker-selinux 的冲突 Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com --> 解决依赖关系完成 错误:docker-ce-selinux conflicts with 2:container-selinux-2.107-3.el7.noarch 您可以尝试添加 --skip-broken 选项来解决该问题 您可以尝试执行:rpm -Va --nofiles --nodigest ``` 可以看到上边显示错误:docker-ce-selinux conflicts with 2:container-selinux-2.107-3.el7.noarch,说要安装的docker-ce-selinux和主机上已经安装的container-selinux-2.107-3.el7.noarch冲突了。 ------------ ### **2、解决冲突** 现在官网上给的解决卸载旧版本Docker命令如下: ```python $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine ``` 命令中并没有关于docker-ce-selinux的相关卸载。 添加过滤docker-selinux和docker-engine-selinux的卸载就可以了。 ```python yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine ``` 执行上边语句,如下显示: ```python 已加载插件:fastestmirror 参数 docker 没有匹配 参数 docker-client 没有匹配 参数 docker-client-latest 没有匹配 参数 docker-common 没有匹配 参数 docker-latest 没有匹配 参数 docker-latest-logrotate 没有匹配 参数 docker-logrotate 没有匹配 参数 docker-engine 没有匹配 正在解决依赖关系 --> 正在检查事务 ---> 软件包 container-selinux.noarch.2.2.107-3.el7 将被 删除 --> 解决依赖关系完成 依赖关系解决 ==================================================================================================================================== Package 架构 版本 源 大小 ==================================================================================================================================== 正在删除: container-selinux noarch 2:2.107-3.el7 @extras 40 k 事务概要 ==================================================================================================================================== 移除 1 软件包 安装大小:40 k 是否继续?[y/N]:y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction 正在删除 : 2:container-selinux-2.107-3.el7.noarch 1/1 验证中 : 2:container-selinux-2.107-3.el7.noarch 1/1 删除: container-selinux.noarch 2:2.107-3.el7 完毕! ``` 可以看到上边已经删除了有冲突的包container-selinux.noarch 2:2.107-3.el7. ------------ ### **3、重新安装docker-ce-selinux** 继续安装docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm 执行语句: ```python yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm ``` 安装结果如下: ```python 已安装: docker-ce-selinux.noarch 0:17.03.0.ce-1.el7.centos 完毕! ``` ------------ ### **4、安装Docker-ce** 解决完上边的依赖问题,就可以继续安装Docker-ce。 执行[root@localhost ~]# yum install docker-ce-17.03.0.ce ```python 已安装: docker-ce.x86_64 0:17.03.0.ce-1.el7.centos 完毕! ``` 到这里问题就解决了。 ------------ ### **5、总结** 这个问题会出现的原因,应该是系统之前安装过Docker,有依赖的包没有卸载干净。如果是新装的系统,应该不会出现上述问题。 以后在出现这样的情况,可以直接按此解决。
李智
2025年3月17日 13:22
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码