2016-04-06 7 views
2

Ich versuche, Docker auf CentOS 7 von 1.9 auf 1.10 zu aktualisieren. Ich bin mit dem Skript auf der Website Docker zur Verfügung gestellt:Docker aktualisiert Fehler aufgrund von Konflikten

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

Ich verwende das Skript:

Schließlich das Skript führt die folgenden Befehl ein:

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

Diese Befehl schlägt mit der folgenden Meldung fehl:

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 

Ich habe diesen Fehler auf den yum-Befehl isoliert und versucht, ihn mit dem --skip-broken auszuführen. Dies tut jedoch nicht viel:

$ 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 

Der Befehl rpm versucht nichts. Das Ausführen des referenzierten Befehls rpm scheint etwas zu tun, aber was auch immer es tut, hat keine Auswirkung auf die Installation. Der Fehler bleibt bestehen.

Internet-Suchen haben ergeben, dass andere ähnliche Probleme gesehen haben, aber normalerweise kommen ihre Probleme daher, weil eine Abhängigkeit, auf die im Fehler verwiesen wird, fehlte. Es scheint keine fehlenden Abhängigkeiten zu meinem System zu geben.

Ich habe sogar versucht, Version 1.9 zu entfernen. Das ändert auch nichts.

Die Anweisungen für eine manuelle Installation auf der Docker-Site haben auch nichts geändert.

Es gibt auch nichts in der Docker-Dokumentation, das dieses spezielle Problem beschreibt.

Hat jemand dieses genaue Problem schon einmal gesehen? Kennt jemand einen Weg, es zu reparieren ???

Bitte beraten.

Antwort

2

Von dieser Nachricht:

Docker-Motor-selinux Konflikte mit Docker-selinux

Ich vermute, Sie hatten zuvor die Red Hat-Version von Docker verteilt installiert, die docker-selinux installiert. Die offiziellen Docker-Pakete installieren auch ein ähnliches Paket (docker-engine-selinux), das mit dem Paket kollidiert, das Sie bereits installiert haben.

Der beste Ansatz wäre, die vorhandene Docker-Version (einschließlich des docker-selinux-Pakets) zu deinstallieren und anschließend docker-engine gemäß den Anweisungen in der Dokumentation zu installieren. https://docs.docker.com/engine/installation/linux/centos/

+0

Der von Ihnen vorgeschlagene Ansatz funktionierte. Ich wusste nicht, dass es ein separates docker-selinux-Paket gab ... es wurde installiert, als ich Docker installierte, aber nicht deinstalliert wurde ... ??? Hoffentlich hat die neueste Installation keine so lästigen Versehen ... Seien Sie sich bewusst, dass sowohl das docker-selinux-Paket als auch das docker-Paket (das heißt "docker" und nicht "docker-engine"!) Deinstalliert werden sollte, bevor Sie den 1.10 ausführen Skript installieren –

+0

Das Paket heißt im offiziellen Repository http://yum.dockerproject.org/repo/main/centos/7/Packages/ eigentlich 'docker-engine'. Können Sie überprüfen, von welchem ​​Repository Sie installieren? – thaJeztah

+0

Oh, ich weiß, dass ich das offizielle Repository nicht benutzt habe, weil die Version 1.10, die ich installieren konnte, "docker-engine" heißt, aber die Version 1.9, die ich hatte, war nicht das offizielle Paket (eigentlich "docker") , nicht "Docker-Motor"). Woher das Paket kam, weiß ich nicht (und kümmert es auch nicht wirklich), aber ich bin mir ziemlich sicher, dass es nicht das offizielle war. –

Verwandte Themen