Docker CE trên RHEL - Yêu cầu: container-selinux> = 2.9


84

Tôi cố gắng để cài đặt Docker CEtrên RHELsử dụng này liên kết . Đây là phiên bản RHEL của tôi:

Red Hat Enterprise Linux Server release 7.3 (Maipo)

Khi tôi thực hiện điều này:

sudo yum -y install docker-ce

Tôi nhận được lỗi này:

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

Tôi đã cố gắng sử dụng --skip-brokenrpm -Va --nofiles --nodigestnhưng một lần nữa nhận được lỗi tương tự. Vui lòng cho tôi biết cách giải quyết vấn đề này và cài đặt Docker CE trong RHEL 7.3.


1
Nếu bạn muốn chỉ cần làm cho nó hoạt (khi biết rằng bạn đang sử dụng một rpm không được hỗ trợ), nhìn vào stackoverflow.com/a/45033117/3370010
waternova

Câu trả lời:


68

Các container-selinuxgói có sẵn từ các rhel-7-server-extras-rpmskênh. Bạn có thể kích hoạt nó bằng cách sử dụng:

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

Các nguồn của gói cũng đã được xuất sang git.centos.org, vì vậy bạn có thể tự xây dựng lại nó bằng cách sử dụng mock:

(Đây không phải là câu hỏi về lập trình, vì vậy bạn nên sử dụng một trong các trang web khác.)


Tôi không có đăng ký hoạt động. Bất kỳ cách thay thế?
user182944

Bạn có thể sử dụng mockđể xây dựng gói từ các nguồn trêngit.centos.org . mockbản thân nó nằm trong EPEL, nhưng nó có thể phụ thuộc vào một số gói từ Red Hat Enterprise Linux mà bạn chưa cài đặt, vì vậy trước tiên bạn cần chuyển cấp chéo sang CentOS.
Florian Weimer,

3
Tôi nhận đượcError: 'rhel-7-server-extras-rpms' does not match a valid repository ID.
prayagupd

@prayagupd Đây có vẻ như là sự cố quản lý đăng ký không liên quan. Bạn nên mở một trường hợp hỗ trợ.
Florian Weimer

@prayagupd, đã quá muộn để phản hồi nhưng có thể do bạn không sử dụng phiên bản máy chủ RHEL mà bạn có thể đang sử dụng máy trạm.
Anurag Sinha

64

Cài đặt Selinux từ kho lưu trữ Centos phù hợp với tôi:
1. Truy cập http://mirror.centos.org/centos/7/extras/x86_64/Packages/
2. Tìm phiên bản mới nhất cho container-selinux i.e. container-selinux-2.21-1.el7.noarch.rpm
3. Chạy như sau trên thiết bị đầu cuối của bạn: $ sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/**Add_current_container-selinux_package_here**
4. Lệnh sẽ giống như sau $ sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.21-1.el7.noarch.rpm
Lưu ý: phiên bản vùng chứa liên tục được cập nhật, đó là lý do tại sao bạn nên tìm kiếm phiên bản mới nhất trong kho lưu trữ của Centos


1
bất kỳ cách dễ dàng nào để viết một cái gì đó để nó tự tìm phiên bản mới nhất?
luker02

51

Chỉ cần cài đặt selinux phiên bản mới nhất để khắc phục:
sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.107-3.el7.noarch.rpm

Các phiên bản khác tại http://mirror.centos.org/centos/7/extras/x86_64/Packages/

Các phiên bản cũ hơn của 2.9: http://ftp.riken.jp/Linux/cern/centos/7/extras/x86_64/Packages/


2
Cảm ơn, điều này đã làm việc cho tôi. Đối với những người dùng google trong tương lai, việc sao chép và dán những gì họ có ở trên gần như chắc chắn sẽ không hoạt động vì nó đã cũ ở thời điểm này. Đi tới liên kết các phiên bản khác và lấy phiên bản mới nhất (sao chép địa chỉ liên kết).
rjhilgefort

26

Lỗi: Gói: 2: container-selinux-2.74-1.el7.noarch (rhel-7-server-extras-rpms)

Yêu cầu: selinux-policy> = 3.13.1-216.el7

Đã cài đặt: selinux-policy-3.13.1-192.el7_5.6.noarch (@ rhel-7-server-rpms)

selinux-policy = 3,13.1-192.el7_5,6

có vấn đề phụ thuộc với phiên bản container-selinux

để sửa lỗi này trên rhel 7.xi đã thực hiện những điều dưới đây

1) cài đặt 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-fixed-data lvm2

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

4) yum cài đặt docker-ce

bây giờ bắt đầu dịch vụ docker


yum install vault.centos.org/centos/7.3.1611/extras/x86_64/Packages/… là cách duy nhất để cài đặt container-selinux. Cảm ơn bạn!
rogervila

Điều quan trọng là bạn phải nhận xét rằng, trước khi cài đặt Docker-ce, một bản cập nhật yum có thể được yêu cầu tùy thuộc vào phiên bản của bạn
rogervila

thất bại: repodata / repomd.xml từ cơ sở: [Errno 256] Không còn bản sao để thử.
Yanov

11

Docker CE không được hỗ trợ trên RHEL. Bất kỳ cách nào bạn đang cố gắng giải quyết vấn đề đó đều không phải là cách được hỗ trợ. Bạn có thể xem các nền tảng được hỗ trợ trong Tài liệu Docker . Tôi khuyên bạn nên sử dụng HĐH được hỗ trợ hoặc chuyển sang Phiên bản Doanh nghiệp.


8

Bạn đã cài đặt container-selinux cho phiên bản 3.7, hãy kiểm tra xem phiên bản docker-ce sau có phù hợp với bạn không, nó đã làm cho tôi.

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

2
điều này thực sự làm việc cho tôi! nghĩa là không có câu trả lời nào khác làm được.
jimh

5

Đầu đến http://mirror.centos.org/centos/7/extras/x86_64/Packages/ và nhận được liên kết đến các gói container selinux mới nhất. Trong trường hợp của tôi, liên kết là http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm

Đi tới thiết bị đầu cuối của bạn dưới dạng root và chạy:

yum cài đặt http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm

Sau đó, bạn có thể tiến hành cài đặt docker:

yum cài đặt docker-ce


4

Để giải quyết lỗi sau, tôi gặp phải để cài đặt docker-ce trên 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

Vui lòng chạy lệnh sau trước khi cài đặt phiên bản mới nhất của docker-ce

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

Khi lệnh trước đó chạy thành công, hãy cài đặt docker-ce bằng lệnh sau

yum -y install docker-ce

sau khi cài đặt xong rồi chạy

systemctl start docker

Lưu ý: Chạy tất cả các lệnh này với người dùng root



3

Để cập nhật, trước tiên container-selinuxtôi phải cài đặt epel-release:

Thêm kho lưu trữ Centos-7

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

Tải về epel-release

yum install epel-release

Cập nhật container-selinux

yum install container-selinux

mirror.aliyun.com/centos/7/extras/x86_64/Packages/… : [Errno 14] Lỗi HTTP 404 - Không tìm thấy
AnneTheAgile


2

Tôi gặp lỗi tương tự Yêu cầu: container-selinux> = 2.9 trên phiên bản ec2 của amazon (Rhel7)

Tôi đã cố gắng thêm gói bổ sung rmp repo bằng cách thực thi sudo yum-config-manager --enable rhui-REGION-rhel-server-extras
nhưng nó hoạt động. đã làm theo các bước từ https://installdocker.blogspot.com/ và tôi đã có thể cài đặt docker.


2

Thử:

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

Nó đã làm việc cho tôi.


Câu trả lời của bạn không thêm bất kỳ thông tin mới nào. Điều này đã được trả lời bởi người khác
Ankur Aggarwal

@AnkurAggarwal khi bạn để lại nhận xét liên quan đến việc kiểm duyệt, bạn phải thực sự cụ thể hơn là "Điều này đã được trả lời bởi người khác". Đó cũng không phải là một lý do hợp lệ; chỉ vì nó được trả lời không có nghĩa là nó không được phép thêm một câu trả lời khác, giả sử nó không phải là đạo văn trắng trợn và tuân theo các quy tắc chung cho câu trả lời SE.
Zoe

2

[SOLVED] Một lệnh đơn giản để khắc phục sự cố này.

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


0

Cập nhật tháng 6 năm 2019

Đúng là một bữa tối cho chó. Thật không may, các câu trả lời khác không phù hợp với tôi.

Đối với hầu hết các phần, hướng dẫn cài đặt docker chính thức để cài đặt bằng DID kho lưu trữ hoạt động.

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

Theo dõi bởi:

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

Tuy nhiên, tôi đã phải sửa đổi lệnh tiếp theo như sau (thêm --nobest ):

sudo yum install docker-ce --nobest

Cuối cùng, hãy kiểm tra ứng dụng khách docker :

docker --version
Docker version 18.09.7, build 2d0083d

Cũng xin lưu ý, các bước trên hoạt động với RHEL AMI tiêu chuẩn trên AWS, nhưng không áp dụng cho loại Amazon Linux AMI. Cũng có thể thấy việc tham khảo vấn đề github này một cách sâu sắc.

Thêm phần thưởng, tôi thấy các lệnh bổ sung sau hữu ích:

Khởi động trình nền docker :

sudo systemctl start docker.service

Cấp cho người dùng hiện tại (trong trường hợp của tôi ec2-user- kiểm tra với whoami) quyền đối với nhóm docker. Điều này tránh chạy mọi thứ với sudo.

sudo usermod -aG docker $USER

Bây giờ, đăng xuất và đăng nhập lại với cùng một người dùng như trước (trong trường hợp của tôi ec2-user).

Tại thời điểm này, mọi thứ sẽ hoạt động. Kiểm tra trình nền docker :

docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

Có điều gì đó bên phía Docker đã thay đổi gần đây. Bây giờ chúng yêu cầu container-selinux 2.74. Điều này đang chặn chúng tôi cài đặt docker trong centos7.4 ngay bây giờ.
Halsafar

0

Cách tốt nhất để giải quyết vấn đề này là. Tải xuống gói container-selinux mới nhất từ http://mirror.centos.org/centos/7/extras/x86_64/Packages/ vào máy ảo hoặc Máy cần cài đặt docker. Lỗi: đôi khi nó sẽ yêu cầu đăng ký mũ đỏ để tải xuống từ repo. chúng ta có thể thực hiện theo cách thủ công mà không cần đăng ký như bên dưới Chạy lệnh dưới đây, lệnh này sẽ cài đặt các phần phụ thuộc theo cách thủ công rpm -i container-selinux-2.107-3.el7.noarch.rpm sau đó chạy yum install docker-ce

cảm ơn Saa


0

Cũng như các câu trả lời khác, việc thêm các kênh đã đăng ký "bổ sung" vào triển khai CentOS 7 Spacewalk cũng giải quyết được vấn đề này.


-1

Tôi đã theo nhiều liên kết bao gồm cả tài liệu chính thức, tuy nhiên tất cả đều gặp lỗi này:

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

Cách duy nhất nó hoạt động đối với tôi như sau ( yum upgradetôi đoán đã hoạt động):

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

yum upgrade docker-ce

-1

liên kết này đã giúp tôi giải quyết vấn đề này

Đây là giải pháp: Đối với centos: hãy thử

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

Đối với 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

Mặc dù liên kết này có thể trả lời câu hỏi, nhưng tốt hơn hết bạn nên đưa các phần thiết yếu của câu trả lời vào đây và cung cấp liên kết để tham khảo. Các câu trả lời chỉ có liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi. - Từ đánh giá
Benny Bottema

Cập nhật câu trả lời kèm theo lời giải thích
user_dev Ngày
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.