Docker 升级因冲突而失败

Docker upgrades failing due to conflicts

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

有人以前见过这个确切的问题吗?有谁知道修复它的方法吗???

请指教

来自此消息:

docker-engine-selinux 与 docker-selinux

冲突

我怀疑您之前安装了 Docker 的 Red Hat 分布式版本,它会安装 docker-selinux。官方 Docker 软件包也安装了一个类似的软件包 (docker-engine-selinux),它与您已经安装的软件包有冲突。

最好的方法是卸载现有的 docker 版本(包括 docker-selinux 软件包),然后按照文档中的说明安装 docker-enginehttps://docs.docker.com/engine/installation/linux/centos/