Docker CE auf RHEL - Benötigt: container-selinux> = 2.9

84

Ich versuche, Docker CEüber RHELdiesen Link zu installieren . Dies ist meine RHEL-Version:

Red Hat Enterprise Linux Server release 7.3 (Maipo)

Wenn ich das ausführe:

sudo yum -y install docker-ce

Ich erhalte diesen Fehler:

Error: Package: docker-ce-17.06.0.ce-1.el7.centos.x86_64 (docker-ce-stable)
           Requires: container-selinux >= 2.9
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Ich habe versucht, --skip-brokenund rpm -Va --nofiles --nodigestdoch wieder den gleichen Fehler zu bekommen. Bitte lassen Sie mich wissen, wie Sie dieses Problem beheben und Docker CE in RHEL 7.3 installieren können.

user182944
quelle
1
Wenn Sie nur möchten, dass es funktioniert (in dem Wissen, dass Sie eine nicht unterstützte Drehzahl verwenden), schauen Sie unter stackoverflow.com/a/45033117/3370010
waternova

Antworten:

68

Das container-selinuxPaket ist über den rhel-7-server-extras-rpmsKanal erhältlich. Sie können es aktivieren mit:

subscription-manager repos --enable=rhel-7-server-extras-rpms

Die Quellen für das Paket wurden ebenfalls exportiert git.centos.org, sodass Sie es selbst neu erstellen können, indem Sie mock:

(Dies ist keine Programmierfrage, daher sollten Sie eine der anderen Sites verwenden.)

Florian Weimer
quelle
Ich habe kein aktives Abonnement. Irgendein alternativer Weg?
user182944
Sie können mockdas Paket aus den Quellengit.centos.org erstellen . mockselbst befindet sich in EPEL, hängt jedoch wahrscheinlich von einigen Paketen von Red Hat Enterprise Linux ab, die Sie noch nicht installiert haben. Daher müssen Sie zuerst ein Cross-Grade-Verfahren für CentOS durchführen.
Florian Weimer
3
Ich bekommeError: 'rhel-7-server-extras-rpms' does not match a valid repository ID.
bete
@prayagupd Dies scheint ein nicht verwandtes Problem bei der Abonnementverwaltung zu sein. Sie sollten einen Support-Fall öffnen.
Florian Weimer
@prayagupd Es ist zu spät, um zu antworten, aber weil Sie möglicherweise nicht die RHEL Server Edition verwenden, verwenden Sie möglicherweise die Workstation.
Anurag Sinha
64

Die Installation von Selinux aus dem Centos-Repository hat für mich funktioniert:
1. Gehen Sie zu http://mirror.centos.org/centos/7/extras/x86_64/Packages/.
2. Suchen Sie die neueste Version für Container-Selinux. i.e. container-selinux-2.21-1.el7.noarch.rpm
3. Führen Sie die folgenden Schritte aus Befehl auf Ihrem Terminal: $ sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/**Add_current_container-selinux_package_here**
4. Der Befehl sollte wie folgt aussehen. $ sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.21-1.el7.noarch.rpm
Hinweis: Die Containerversion wird ständig aktualisiert. Deshalb sollten Sie im Repository von Centos nach der neuesten Version suchen

Samir Silva
quelle
1
Gibt es eine einfache Möglichkeit, etwas zu skripten, damit es die neueste Version selbst findet?
luker02
53

Installieren Sie einfach die neueste Version von selinux, um das Problem zu beheben:
sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.107-3.el7.noarch.rpm

Weitere Versionen unter http://mirror.centos.org/centos/7/extras/x86_64/Packages/

Ältere Versionen von 2.9: http://ftp.riken.jp/Linux/cern/centos/7/extras/x86_64/Packages/

Leon
quelle
2
Danke, das hat bei mir funktioniert. Für zukünftige Googler wird das Kopieren und Einfügen der oben genannten Informationen mit ziemlicher Sicherheit nicht funktionieren, da sie zu diesem Zeitpunkt alt sind. Gehen Sie zum Link "Weitere Versionen" und holen Sie sich die neueste Version (Linkadresse kopieren).
rjhilgefort
26

Fehler: Paket: 2: container-selinux-2.74-1.el7.noarch (rhel-7-server-extras-rpms)

Benötigt: selinux-policy> = 3.13.1-216.el7

Installiert: selinux-policy-3.13.1-192.el7_5.6.noarch (@ rhel-7-server-rpms)

selinux-policy = 3.13.1-192.el7_5.6

Bei der Container-Selinux-Version liegt ein Abhängigkeitsproblem vor

Um diesen Fehler auf Rhel 7.xi zu beheben, haben Sie die folgenden Schritte ausgeführt

1) Installieren Sie http://vault.centos.org/centos/7.3.1611/extras/x86_64/Packages/container-selinux-2.9-4.el7.noarch.rpm

2) yum install -y yum-utils Geräte-Mapper-persistente-Daten lvm2

3) yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4) Installieren Sie Docker-CE

Starten Sie jetzt den Docker-Dienst

Apuri Srikanth
quelle
yum install vault.centos.org/centos/7.3.1611/extras/x86_64/Packages/… war die einzige Möglichkeit, container-selinux zu installieren. Vielen Dank!
Rogervila
Es ist wichtig zu beachten, dass vor der Installation von Docker-
CE
Fehler: repodata / repomd.xml von der Basis: [Errno 256] Keine Spiegel mehr zum Ausprobieren.
Yanov
11

Docker CE wird von RHEL nicht unterstützt. Jede Art und Weise, wie Sie versuchen, dies zu umgehen, wird nicht unterstützt. Sie können die unterstützten Plattformen in der Docker-Dokumentation sehen . Ich schlage vor, dass Sie entweder ein unterstütztes Betriebssystem verwenden oder zur Enterprise Edition wechseln.

Mano Marks
quelle
8

Sie haben Container-Selinux bereits für Version 3.7 installiert. Überprüfen Sie, ob die folgende Docker-CE-Version für Sie funktioniert, für mich.

sudo yum -y install docker-ce-cli.x86_64 1:19.03.5-3.el7
Oyeshetty
quelle
2
das hat tatsächlich bei mir funktioniert! buchstäblich keine der anderen Antworten.
20.
5

Gehen Sie zu http://mirror.centos.org/centos/7/extras/x86_64/Packages/ und erhalten Sie den Link zum neuesten Container-Selinux-Paket. In meinem Fall war der Link http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm

Gehen Sie als Root zu Ihrem Terminal und führen Sie Folgendes aus:

yum installiere http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm

Danach können Sie Docker installieren:

yum installiere docker-ce

Moses Nandwa
quelle
4

Um den folgenden Fehler zu beheben, musste ich Docker-CE auf RHEL-7 installieren

Error: Package: 3:docker-ce-18.09.5-3.el7.x86_64 (docker-ce-stable)
           Requires: container-selinux >= 2.9
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Führen Sie den folgenden Befehl aus, bevor Sie die neueste Version von docker-ce installieren

yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm

Sobald der vorherige Befehl erfolgreich ausgeführt wurde, installieren Sie docker-ce mit dem folgenden Befehl

yum -y install docker-ce

Sobald die Installation abgeschlossen ist, führen Sie sie aus

systemctl start docker

Hinweis: Führen Sie alle diese Befehle mit dem Root-Benutzer aus

Abhishek Jain
quelle
Bitte versuchen Sie es mit mirror.centos.org/centos/7/extras/x86_64/Packages/…
suiwenfeng
3

Zum Update musste container-selinuxich epel-releasezuerst installieren :

Fügen Sie das Centos-7- Repository hinzu

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

Installieren epel-release

yum install epel-release

Aktualisieren container-selinux

yum install container-selinux
阿尔曼
quelle
Mirrors.aliyun.com/centos/7/extras/x86_64/Packages/… : [Errno 14] HTTP-Fehler 404 - Nicht gefunden
AnneTheAgile
2

Ich habe den gleichen Fehler erhalten Benötigt: container-selinux> = 2.9 auf der amazon ec2-Instanz (Rhel7)

Ich habe versucht, ein zusätzliches Paket rmp repo hinzuzufügen, indem ich sudo yum-config-manager --enable rhui-REGION-rhel-server-extras ausgeführt habe,
aber es funktioniert. Befolgen Sie die Schritte von https://installdocker.blogspot.com/ und ich konnte Docker installieren.

bishtb
quelle
2

Versuchen:

yum install http://vault.centos.org/centos/7.3.1611/extras/x86_64/Packages/container-selinux-2.9-4.el7.noarch.rpm

Es hat bei mir funktioniert.

Ashish Kumar
quelle
Ihre Antwort fügt keine neuen Informationen hinzu. Dies wird bereits von jemand anderem beantwortet
Ankur Aggarwal
@AnkurAggarwal Wenn Sie moderationsbezogene Kommentare hinterlassen, sollten Sie wirklich spezifischer sein als "Dies wird bereits von jemand anderem beantwortet". Das ist auch kein triftiger Grund; Nur weil es beantwortet wurde, heißt das nicht, dass es nicht erlaubt ist, eine weitere Antwort hinzuzufügen, vorausgesetzt, es ist kein offensichtliches Plagiat und folgt den allgemeinen Regeln für SE-Antworten.
Zoe
2

[Gelöst] Einfacher Befehl, um dieses Problem zu beheben.

yum install http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.107-3.el7.noarch.rpm
VinKam
quelle
1

Der beste Weg, um dieses Problem zu lösen, ist. Laden Sie das neueste Container-Selinux-Paket von http://mirror.centos.org/centos/7/extras/x86_64/Packages/ auf die VM oder den Computer herunter, auf dem Docker installiert werden muss. Fehler: Manchmal wird nach einem Red Hat-Abonnement zum Herunterladen von Repo gefragt. Wir können dies manuell ohne Abonnement wie unten ausführen. Führen Sie den folgenden Befehl aus. Dadurch werden die Abhängigkeiten manuell installiert. rpm -i container-selinux-2.107-3.el7.noarch.rpm Führen Sie dann das yum install docker-ce aus

danke Saa

Saa Satyam
quelle
0

Update Juni 2019

Was für ein Hundedinner. Leider haben die anderen Antworten bei mir nicht funktioniert.

Zum größten Teil funktionieren die offiziellen Docker-Anweisungen für die Installation mit einem Repository DID.

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

Gefolgt von:

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

Ich musste jedoch den nächsten Befehl wie folgt ändern (Hinzufügen von --nobest ):

sudo yum install docker-ce --nobest

Überprüfen Sie abschließend den Docker-Client :

docker --version
Docker version 18.09.7, build 2d0083d

Beachten Sie auch, dass das oben Gesagte für Standard-RHEL AMI unter AWS funktioniert, jedoch nicht für den Amazon Linux AMI-Typ. Möglicherweise ist es auch aufschlussreich , auf dieses Github-Problem zu verweisen .

Zusätzlicher Bonus, ich fand die folgenden zusätzlichen Befehle hilfreich:

Starten Sie den Docker-Daemon :

sudo systemctl start docker.service

Geben Sie dem aktuellen Benutzer (in meinem Fall ec2-userüberprüfen Sie mit whoami) Rechte für die Docker-Gruppe. Dadurch wird vermieden, dass alles mit sudo ausgeführt wird.

sudo usermod -aG docker $USER

Melden Sie sich jetzt ab und wieder als derselbe Benutzer wie zuvor an (in meinem Fall ec2-user).

An diesem Punkt sollte alles funktionieren. Überprüfen Sie den Docker-Daemon :

docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
arcseldon
quelle
Etwas auf Dockers Seite hat sich in letzter Zeit geändert. Sie benötigen jetzt Container-Selinux 2.74. Dies hindert uns daran, Docker jetzt in centos7.4 zu installieren.
Halsafar
0

Wie bei anderen Antworten löst auch das Hinzufügen der abonnierten "Extras" -Kanäle zu einer CentOS 7 Spacewalk-Bereitstellung dieses Problem.

Charlie O.
quelle
-1

Ich bin vielen Links gefolgt, einschließlich der offiziellen Dokumentation, aber alles endete in diesem Fehler:

Requires: container-selinux >= 2.9
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

Die einzige Möglichkeit, wie es bei mir funktioniert hat, ist wie folgt ( yum upgradefunktioniert, denke ich):

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum upgrade docker-ce
Staycool
quelle
-1

Dieser Link hat mir geholfen, dieses Problem zu lösen

Hier ist die Lösung: Für Centos: versuchen

sudo yum install --setopt=obsoletes=0 \
>    docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
>    docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch

Für Rhel:

sudo yum install --setopt=obsoletes=0 docker-ce-17.03.3.ce-1.el7.x86_64.rpm docker-ce-selinux-17.03.3.ce-1.el7.noarch.rpm
user_dev
quelle
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - Aus dem Rückblick
Benny Bottema
Aktualisierte die Antwort mit Erklärung
user_dev