Factor Three
Factor Three

Reputation: 2284

Docker upgrades failing due to conflicts

I am attempting to upgrade Docker on CentOS 7 from 1.9 to 1.10. I am using the script provided on the Docker website:

https://docs.docker.com/engine/installation/linux/centos/

I am running the script:

curl -fsSL https://get.docker.com/ | sh

Eventually, the script executes the following command:

sudo -E sh -c 'sleep 3; yum -y -q install docker-engine'

This command is failing with the following message:

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

I have isolated this failure to the yum command, and attempted to run it using the --skip-broken. This doesn't do much, though:

$ 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

Trying the rpm command does nothing. Running the referenced rpm command seems to do something, but whatever it does it has no effect on the install. The failure persists.

Internet searches have revealed that others have seen similar problems, but usually their problems come because some dependency, referenced in the failure, was missing. There don't appear to be any missing dependencies on my system.

I even tried removing version 1.9. That does not change anything either.

Following the instructions for a manual install provided on the docker site hasn't changed anything, either.

There is also nothing in the Docker documentation that describes this particular problem.

Has anyone seen this exact problem before? Does anyone know some way to fix it???

Please advise.

Upvotes: 2

Views: 5163

Answers (1)

thaJeztah
thaJeztah

Reputation: 29047

From this message:

docker-engine-selinux conflicts with docker-selinux

I suspect you previously had the Red Hat distributed version of Docker installed, which installs docker-selinux. The official Docker packages also install a similar package (docker-engine-selinux) and that conflicts with the package you already have installed.

The best approach would be to uninstall the existing docker version (including the docker-selinux package), and then install docker-engine, following the instructions in the documentation; https://docs.docker.com/engine/installation/linux/centos/

Upvotes: 2

Related Questions