linux - Docker 升级因冲突而失败

标签 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 文档中也没有任何内容描述这个特定问题。

有人以前见过这个确切的问题吗?有谁知道解决办法吗???

请指教。

最佳答案

来自此消息:

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/

相关文章:

c - Socket编程C(Linux Ubuntu)

java - 如何打印所有包HTTP

linux - 新手需要 cpanel/WHM 来运行网络服务器吗?

reactjs - 通过读取package.json升级React版本及其依赖项

c# - 如何说服 VS2005 msi 升级?

linux - 如何让我的菜单在准备接受用户输入时发出蜂鸣声/铃声 (UNIX)

docker - WebDriverError : invalid session id

docker - docker在Linux机器上运行时是否使用虚拟化解决方案?

node.js - 在 Docker 容器中安装 Web 应用程序 : dial unix/var/run/docker. sock:没有这样的文件或目录

java - 您可以通过市场要求对 Android 应用程序进行年度升级吗