我正在尝试将CentOS 7上的Docker从1.9升级到1.10。我正在使用Docker网站上提供的脚本:
https://docs.docker.com/engine/installation/linux/centos/
我正在运行脚本:
curl -fsSL https://get.docker.com/ | sh
最终,该脚本执行以下命令:
sudo -E sh -c 'sleep 3; yum -y -q install docker-engine'
此命令失败,并显示以下消息:
Error: docker-engine-selinux conflicts with docker-selinux-1.9.1-25.el7.centos.x86_64
Error: docker-engine conflicts with docker-1.9.1-25.el7.centos.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
我已将此故障隔离到yum命令,并尝试使用--skip-broken运行它。但是,这并没有多大作用:
$ sudo yum -y -q --skip-broken install docker-engine
Packages skipped because of dependency problems:
docker-engine-1.10.3-1.el7.centos.x86_64 from docker-main-repo
docker-engine-selinux-1.10.3-1.el7.centos.noarch from docker-main-repo
尝试rpm命令不执行任何操作。运行引用的rpm命令似乎做了一些事情,但不管它做什么它对安装没有影响。失败仍然存在。
互联网搜索显示其他人已经看到类似的问题,但通常他们的问题是因为失败中引用的某些依赖性丢失了。我的系统似乎没有任何遗漏依赖。
我甚至尝试删除1.9版本。这也不会改变任何事情。
按照docker网站上提供的手动安装说明,也没有改变任何内容。
Docker文档中也没有描述这个特定问题的内容。
之前有没有人见过这个问题?有谁知道解决它的方法???
请告知。
答案 0 :(得分:2)
从这条消息:
docker-engine-selinux与docker-selinux冲突
我怀疑你之前安装了Red Hat分布式版本的Docker,它安装了jsParamType
。官方Docker软件包还安装了一个类似的软件包(docker-selinux
),这与您已经安装的软件包冲突。
最好的方法是卸载现有的docker版本(包括docker-engine-selinux
包),然后按照文档中的说明安装docker-selinux
; https://docs.docker.com/engine/installation/linux/centos/