Docker CE na RHEL - wymaga: container-selinux> = 2.9


85

Próbuję zainstalować Docker CEza RHELpomocą tego linku . To jest moja wersja RHEL:

Red Hat Enterprise Linux Server release 7.3 (Maipo)

Kiedy wykonuję to:

sudo yum -y install docker-ce

Otrzymuję ten błąd:

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

Próbowałem użyć --skip-brokeni rpm -Va --nofiles --nodigestponownie otrzymałem ten sam błąd. Daj mi znać, jak rozwiązać ten problem i zainstalować Docker CE w RHEL 7.3.


1
Jeśli chcesz po prostu, aby to działało (wiedząc, że używasz nieobsługiwanego rpm), spójrz na stackoverflow.com/a/45033117/3370010
waternova

Odpowiedzi:


69

container-selinuxPakiet jest dostępny w rhel-7-server-extras-rpmskanale. Możesz go włączyć za pomocą:

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

Źródła pakietu również zostały wyeksportowane git.centos.org, więc możesz go odbudować samodzielnie, używając mock:

(To nie jest kwestia programowania, więc powinieneś skorzystać z jednej z innych witryn).


Nie mam aktywnej subskrypcji. Jakiś alternatywny sposób?
user182944

Możesz użyć mockdo zbudowania pakietu ze źródeł nagit.centos.org . mocksam jest w EPEL, ale prawdopodobnie zależy to od niektórych pakietów z Red Hat Enterprise Linux, których jeszcze nie zainstalowałeś, więc musisz najpierw przejść na CentOS.
Florian Weimer

3
DostajęError: 'rhel-7-server-extras-rpms' does not match a valid repository ID.
prayagupd

@prayagupd Wygląda to na niepowiązany problem z zarządzaniem subskrypcją. Powinieneś otworzyć zgłoszenie do pomocy technicznej.
Florian Weimer

@prayagupd jest już za późno na odpowiedź, ale może to być spowodowane tym, że nie używasz wersji serwerowej RHEL, że używasz stacji roboczej.
Anurag Sinha

65

Instalacja Selinuksa z repozytorium Centos zadziałała dla mnie:
1. Przejdź do http://mirror.centos.org/centos/7/extras/x86_64/Packages/
2. Znajdź najnowszą wersję dla container-selinux i.e. container-selinux-2.21-1.el7.noarch.rpm
3. Uruchom następujące polecenie na Twoim terminalu: $ sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/**Add_current_container-selinux_package_here**
4. Polecenie powinno wyglądać następująco $ sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.21-1.el7.noarch.rpm
Uwaga: wersja kontenera jest na bieżąco aktualizowana, dlatego należy szukać najnowszej wersji w repozytorium Centosa


1
jakikolwiek prosty sposób na napisanie czegoś, aby sam znalazł najnowszą wersję?
luker02

53

Po prostu zainstaluj najnowszą wersję selinux, aby to naprawić:
sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.107-3.el7.noarch.rpm

Więcej wersji na http://mirror.centos.org/centos/7/extras/x86_64/Packages/

Starsze wersje 2.9: http://ftp.riken.jp/Linux/cern/centos/7/extras/x86_64/Packages/


2
Dzięki, to zadziałało dla mnie. Dla przyszłych pracowników Google kopiowanie i wklejanie tego, co mają powyżej, prawie na pewno nie zadziała, ponieważ w tym momencie jest ono stare. Przejdź do linku więcej wersji i pobierz najnowszą wersję (skopiuj adres linku).
rjhilgefort

26

Błąd: pakiet: 2: container-selinux-2.74-1.el7.noarch (rhel-7-server-extras-rpms)

Wymaga: selinux-policy> = 3.13.1-216.el7

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

selinux-policy = 3.13.1-192.el7_5.6

istnieje problem z zależnościami w wersji kontenera-selinux

aby naprawić ten błąd na rhel 7.xi wykonałem poniższe czynności

1) yum install 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 device-mapper-persistent-data lvm2

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

4) yum install docker-ce

teraz uruchom usługę docker


yum install vault.centos.org/centos/7.3.1611/extras/x86_64/Packages/… był jedynym sposobem zainstalowania kontenera-selinux. Dziękuję Ci!
rogervila

Należy zauważyć, że przed zainstalowaniem docker-ce może być wymagana aktualizacja yum w zależności od wersji
rogervila

niepowodzenie: repodata / repomd.xml z bazy: [Errno 256] Nie ma więcej serwerów lustrzanych do wypróbowania.
Yanov

11

Docker CE nie jest obsługiwany na RHEL. Każdy sposób, w jaki próbujesz obejść, nie jest obsługiwany. Obsługiwane platformy można zobaczyć w dokumentacji platformy Docker . Proponuję użyć obsługiwanego systemu operacyjnego lub przejść na wersję Enterprise Edition.


8

Masz już zainstalowany container-selinux dla wersji 3.7, sprawdź, czy działa dla ciebie następująca wersja docker-ce, dla mnie zadziałała.

sudo yum -y install docker-ce-cli.x86_64 1:19.03.5-3.el7

2
to faktycznie zadziałało dla mnie! dosłownie żadna z pozostałych odpowiedzi nie była.
jimh

5

Wejdź na http://mirror.centos.org/centos/7/extras/x86_64/Packages/ i uzyskaj link do najnowszego pakietu container-selinux. W moim przypadku odsyłaczem był http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm

Udaj się do terminala jako root i uruchom:

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

Następnie możesz przystąpić do instalacji dockera:

yum install docker-ce


4

Aby rozwiązać następujący błąd, który napotkałem, aby zainstalować docker-ce na RHEL-7

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

Przed zainstalowaniem najnowszej wersji docker-ce uruchom następujące polecenie

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

Po pomyślnym uruchomieniu poprzedniego polecenia zainstaluj docker-ce za pomocą następującego polecenia

yum -y install docker-ce

po zakończeniu instalacji uruchom

systemctl start docker

Uwaga: uruchom wszystkie te polecenia z użytkownikiem root



3

Aby zaktualizować container-selinux, musiałem epel-releasenajpierw zainstalować :

Dodaj repozytorium Centos-7

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

zainstalować epel-release

yum install epel-release

Aktualizacja container-selinux

yum install container-selinux

mirrors.aliyun.com/centos/7/extras/x86_64/Packages/… : [Errno 14] Błąd HTTP 404 - Nie znaleziono
AnneTheAgile


2

Otrzymuję ten sam błąd Wymaga: container-selinux> = 2.9 na instancji amazon ec2 (Rhel7)

Próbowałem dodać dodatkowe repozytorium rmp pakietu, wykonując sudo yum-config-manager --enable rhui-REGION-rhel-server-extras,
ale to działa. wykonałem kroki z https://installdocker.blogspot.com/ i udało mi się zainstalować docker.


2

Próbować:

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

U mnie to zadziałało.


Twoja odpowiedź nie dodaje żadnych nowych informacji. Na to już odpowiedział ktoś inny
Ankur Aggarwal,

@AnkurAggarwal, kiedy zostawiasz komentarze związane z moderacją, powinieneś być bardziej szczegółowy niż „Na to już odpowiedział ktoś inny”. To też nie jest ważny powód; tylko dlatego, że otrzymano odpowiedź, nie oznacza, że ​​nie można dodać kolejnej odpowiedzi, zakładając, że nie jest to rażący plagiat i przestrzega ogólnych zasad dotyczących odpowiedzi SE.
Zoe

2

[ROZWIĄZANE] Proste jedno polecenie, aby naprawić ten problem.

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


1

Najlepszym sposobem rozwiązania tego problemu jest. Pobierz najnowszy pakiet container-selinux z http://mirror.centos.org/centos/7/extras/x86_64/Packages/ na maszynę wirtualną lub maszynę, na której ma zostać zainstalowany docker. Błąd: czasami poprosi o subskrypcję Red Hat do pobrania z repozytorium. możemy to zrobić ręcznie bez subskrypcji jak poniżej Uruchom poniższe polecenie spowoduje to ręczne zainstalowanie zależności rpm -i container-selinux-2.107-3.el7.noarch.rpm następnie uruchom plik docker-ce instalacji yum

dzięki Saa


0

Aktualizacja czerwiec 2019

Co za psia kolacja. Niestety inne odpowiedzi mi nie pomogły.

W większości przypadków oficjalne instrukcje dockera dotyczące instalacji przy użyciu repozytorium DID działają.

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

Śledzony przez:

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

Musiałem jednak zmodyfikować następne polecenie w następujący sposób (dodając --nobest ):

sudo yum install docker-ce --nobest

Na koniec sprawdź klienta dockera :

docker --version
Docker version 18.09.7, build 2d0083d

Należy również zauważyć, że powyższe działa dla standardowego RHEL AMI na AWS, ale nie dla typu Amazon Linux AMI. Odwoływanie się do tego problemu na githubie może być również przydatne .

Dodatkowy bonus, pomocne okazały się następujące dodatkowe polecenia:

Uruchom demona Dockera :

sudo systemctl start docker.service

Nadaj bieżącemu użytkownikowi (w moim przypadku ec2-user- sprawdź whoami) uprawnienia do grupy docker. Pozwala to uniknąć uruchamiania wszystkiego z sudo.

sudo usermod -aG docker $USER

Teraz wyloguj się i zaloguj ponownie jako ten sam użytkownik, co wcześniej (w moim przypadku ec2-user).

W tym momencie wszystko powinno działać. Sprawdź demona Dockera :

docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

Coś po stronie Dockera zmieniło się niedawno. Wymagają teraz kontenera-selinux 2.74. To blokuje nam teraz możliwość zainstalowania dockera w centos7.4.
Halsafar,

0

Podobnie jak w przypadku innych odpowiedzi, dodanie subskrybowanych kanałów „dodatków” do wdrożenia CentOS 7 Spacewalk również rozwiązuje ten problem.


-1

Podążałem za wieloma linkami, w tym oficjalną dokumentacją, jednak wszystko skończyło się tym błędem:

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

Jedyny sposób, w jaki to zadziałało dla mnie, jest następujące ( yum upgradechyba zadziałało):

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

yum upgrade docker-ce

-1

ten link pomógł mi rozwiązać ten problem

Oto rozwiązanie: dla centów: spróbuj

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

Dla 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

Chociaż ten link może odpowiedzieć na pytanie, lepiej jest zawrzeć tutaj zasadnicze części odpowiedzi i podać link do odniesienia. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie. - Z recenzji
Benny Bottema

Zaktualizowałem odpowiedź o wyjaśnienie
user_dev
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.