Docker升级因冲突而失败

时间:2016-04-06 19:05:02

标签: linux docker upgrade

我正在尝试将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文档中也没有描述这个特定问题的内容。

之前有没有人见过这个问题?有谁知道解决它的方法???

请告知。

1 个答案:

答案 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/