我正在尝试将 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 冲突
我怀疑您之前安装了 Red Hat 分布式版本的 Docker,它会安装 docker-selinux
。官方 Docker 软件包还安装了一个类似的软件包 (docker-engine-selinux
),它与您已安装的软件包发生冲突。
最好的方法是卸载现有的 docker 版本(包括 docker-selinux
软件包),然后按照文档中的说明安装 docker-engine
; https://docs.docker.com/engine/installation/linux/centos/
关于linux - Docker 升级因冲突而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36460175/