RHEL의 Docker CE-필요 : container-selinux> = 2.9


84

링크Docker CERHEL사용하여 에 설치하려고합니다 . 이것은 내 RHEL 버전입니다.

Red Hat Enterprise Linux Server release 7.3 (Maipo)

이것을 실행할 때 :

sudo yum -y install docker-ce

이 오류가 발생합니다.

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

나는 사용하여 시도 --skip-broken하고 rpm -Va --nofiles --nodigest그러나 다시 같은 오류가 나타납니다. 이 문제를 해결하고 RHEL 7.3에 Docker CE를 설치하는 방법을 알려주십시오.


1
작동하도록 만들고 싶다면 (지원되지 않는 rpm을 사용하고 있음을 알고 있음) stackoverflow.com/a/45033117/3370010
waternova

답변:


68

container-selinux패키지에서 사용할 rhel-7-server-extras-rpms채널입니다. 다음을 사용하여 활성화 할 수 있습니다.

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

패키지의 소스도로 내보내 졌으므로 다음을 git.centos.org사용하여 직접 다시 빌드 할 수 있습니다 mock.

(이것은 프로그래밍 질문이 아니므로 다른 사이트 중 하나를 사용해야합니다.)


활성 구독이 없습니다. 다른 방법이 있습니까?
user182944 jul.

mock소스에서git.centos.org 패키지를 빌드하는 데 사용할 수 있습니다 . mock자체는 EPEL에 있지만 아직 설치하지 않은 Red Hat Enterprise Linux의 일부 패키지에 따라 달라질 수 있으므로 먼저 CentOS로 크로스 그레이드해야합니다.
Florian Weimer

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

@prayagupd 관련없는 구독 관리 문제인 것 같습니다. 지원 사례를 열어야합니다.
Florian Weimer 2018

@prayagupd 응답하기에는 너무 늦었지만 RHEL 서버 에디션을 사용하지 않을 수도 있기 때문에 워크 스테이션을 사용하고있을 수 있습니다.
아 누락 신하

64

Centos 저장소에서 Selinux를 설치하는 것이 저에게 효과적이었습니다.
1. http://mirror.centos.org/centos/7/extras/x86_64/Packages/로 이동합니다 .
2. container-selinux의 최신 버전을 찾습니다. i.e. container-selinux-2.21-1.el7.noarch.rpm
3. 다음을 실행합니다. 터미널 $ sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/**Add_current_container-selinux_package_here**
의 명령 : 4. 명령은 다음과 같아야합니다. $ sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.21-1.el7.noarch.rpm
참고 : 컨테이너 버전은 지속적으로 업데이트되므로 Centos의 저장소에서 최신 버전을 찾아야합니다.


1
무언가를 스크립팅하여 자체적으로 최신 버전을 찾을 수있는 쉬운 방법이 있습니까?
luker02

51

수정하려면 selinux 최신 버전을 설치하십시오.
sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.107-3.el7.noarch.rpm

http://mirror.centos.org/centos/7/extras/x86_64/Packages/ 에서 더 많은 버전

2.9 이전 버전 : http://ftp.riken.jp/Linux/cern/centos/7/extras/x86_64/Packages/


2
고마워, 이것은 나를 위해 일했다. 미래의 Google 사용자들에게는 위에있는 내용을 복사하여 붙여 넣는 것이이 시점에서 오래되었으므로 거의 확실하게 작동하지 않습니다. 더 많은 버전 링크로 이동하여 최신 버전을 가져옵니다 (링크 주소 복사).
rjhilgefort

26

오류 : 패키지 : 2 : container-selinux-2.74-1.el7.noarch (rhel-7-server-extras-rpms)

필요 : selinux-policy> = 3.13.1-216.el7

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

selinux-policy = 3.13.1-192.el7_5.6

container-selinux 버전에 종속성 문제가 있습니다.

rhel 7.xi 에서이 오류를 수정하기 위해 다음 작업을 수행했습니다.

1) yum 설치 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 설치 docker-ce

이제 도커 서비스를 시작하십시오.


yum install vault.centos.org/centos/7.3.1611/extras/x86_64/Packages/… 는 container-selinux를 설치하는 유일한 방법이었습니다. 감사합니다!
rogervila

그것은 고정 표시기-CE를 설치하기 전에 냠 업데이트 버전에 따라 요구 될 수있다, 그 발언하는 것이 중요합니다
rogervila

실패 : repodata / repomd.xml from base : [Errno 256] 더 이상 시도 할 미러가 없습니다.
Yanov

11

Docker CE는 RHEL에서 지원되지 않습니다. 주위를 돌아 다니는 방법은 지원되는 방법이 아닙니다. Docker Documentation 에서 지원되는 플랫폼을 확인할 수 있습니다 . 지원되는 OS를 사용하거나 Enterprise Edition으로 전환하는 것이 좋습니다.


8

버전 3.7 용 container-selinux가 이미 설치되어 있으며 다음 docker-ce 버전이 작동하는지 확인하십시오.

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

2
이것은 실제로 나를 위해 일했습니다! 말 그대로 아무도 다른 대답은하지 않았다.
jimh

5

머리 http://mirror.centos.org/centos/7/extras/x86_64/Packages/ 최신 컨테이너 SELinux를 패키지에 대한 링크를 얻을. 제 경우에는 링크가 http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm 이었습니다 .

루트로 터미널로 이동하여 다음을 실행하십시오.

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

그 후 Docker 설치를 진행할 수 있습니다.

yum docker-ce 설치


4

다음 오류를 해결하기 위해 RHEL-7에 docker-ce를 설치해야했습니다.

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

최신 버전의 docker-ce를 설치하기 전에 다음 명령을 실행하십시오.

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

이전 명령이 성공적으로 실행되면 다음 명령으로 docker-ce를 설치하십시오.

yum -y install docker-ce

설치가 완료되면 실행

systemctl start docker

참고 :이 모든 명령을 루트 사용자로 실행하십시오.



3

업데이트 container-selinux하려면 epel-release먼저 설치해야했습니다 .

Centos-7 저장소 추가

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

설치 epel-release

yum install epel-release

최신 정보 container-selinux

yum install container-selinux

mirrors.aliyun.com/centos/7/extras/x86_64/Packages/... : [errno를 14] HTTP 404 오류 - 찾을 수 없음
AnneTheAgile


2

동일한 오류가 발생했습니다 .Requires : container-selinux> = 2.9 on amazon ec2 instance (Rhel7)

sudo yum-config-manager --enable rhui-REGION-rhel-server-extras를 실행하여 추가 패키지 rmp repo를 추가하려고 시도
했지만 작동합니다. https://installdocker.blogspot.com/의 단계를 따랐고 도커를 설치할 수있었습니다.


2

시험:

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

그것은 나를 위해 일했습니다.


귀하의 답변은 새로운 정보를 추가하지 않습니다. 이것은 이미 다른 사람이 대답한다
Ankur 가르 왈에게

@AnkurAggarwal 검토 관련 댓글을 남길 때 "이것은 이미 다른 사람이 답변했습니다"보다 더 구체적이어야합니다. 그것은 또한 유효한 이유가 아닙니다. 답변을했다고해서 노골적인 표절이 아니며 SE 답변에 대한 일반 규칙을 따른다는 가정하에 다른 답변을 추가 할 수 없다는 의미는 아닙니다.
Zoe

2

[해결됨]이 문제를 해결하는 간단한 명령입니다.

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


0

2019 년 6 월 업데이트

개들 저녁 식사. 불행히도 다른 답변은 저에게 효과적이지 않았습니다.

대부분의 경우 저장소 DID를 사용하여 설치 하는 공식 도커 지침 이 작동합니다.

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

뒤에 :

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

그러나 다음 명령을 다음과 같이 수정해야했습니다 ( --nobest 추가 ).

sudo yum install docker-ce --nobest

마지막으로 도커 클라이언트를 확인하십시오 .

docker --version
Docker version 18.09.7, build 2d0083d

또한 위의 내용은 AWS의 표준 RHEL AMI에서 작동하지만 Amazon Linux AMI 유형에서는 작동하지 않습니다. 이 github 문제를 참조 하여 통찰력을 얻을 수도 있습니다.

추가 된 보너스, 다음과 같은 추가 명령이 유용하다는 것을 알았습니다.

docker 데몬을 시작합니다 .

sudo systemctl start docker.service

현재 사용자 (제 경우에는으로 ec2-user확인 whoami)에게 docker 그룹에 대한 권한을 부여 하십시오 . 이것은 sudo로 모든 것을 실행하는 것을 피합니다.

sudo usermod -aG docker $USER

이제 로그 오프하고 이전과 동일한 사용자로 다시 로그인하십시오 (제 경우에는 ec2-user).

이 시점에서 모든 것이 작동해야합니다. 도커 데몬을 확인하십시오 .

docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

Docker 측의 무언가가 최근에 변경되었습니다. 이제 container-selinux 2.74가 필요합니다. 이것은 우리가 centos7.4에 docker를 설치하는 것을 막고 있습니다.
Halsafar

0

이 문제를 해결하는 가장 좋은 방법은 다음과 같습니다. http://mirror.centos.org/centos/7/extras/x86_64/Packages/ 에서 최신 container-selinux 패키지를 Docker를 설치해야하는 VM 또는 머신으로 다운로드합니다 . 오류 : 때때로 repo에서 다운로드하기 위해 red hat 구독을 요청합니다. 아래 명령을 실행하여 수동으로 종속성을 설치합니다 rpm -i container-selinux-2.107-3.el7.noarch.rpm 그런 다음 yum install docker-ce를 실행합니다.

감사합니다 Saa


0

다른 답변과 마찬가지로 CentOS 7 Spacewalk 배포에 "추가"구독 채널을 추가하면이 문제도 해결됩니다.


-1

공식 문서를 포함하여 많은 링크를 따라 갔지만 모두이 오류로 끝났습니다.

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

그것이 나를 위해 일한 유일한 방법은 다음과 같습니다 yum upgrade.

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

yum upgrade docker-ce

-1

링크는이 문제를 해결하는 데 도움이되었습니다.

해결책은 다음과 같습니다. centos의 경우 : 시도

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

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

이 링크가 질문에 답할 수 있지만 여기에 답변의 필수 부분을 포함하고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 무효화 될 수 있습니다. - 리뷰에서
Benny Bottema

설명과 함께 답변을 업데이트
user_dev
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.