Docker CE на RHEL - Потрібно: container-selinux> = 2.9


84

Я намагаюся встановити Docker CEна RHELвикористання цієї посилання . Це моя версія 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але знову отримують ту ж помилку. Будь ласка, дайте мені знати, як вирішити цю проблему та встановити Docker CE у RHEL 7.3.


1
Якщо ви хочете просто зробити його роботу (знаючи , що ви використовуєте не підтримуються обороти в хвилину), зверніть увагу на 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

Ви можете використовувати mockдля створення пакета з джерел наgit.centos.org . mockсам по собі є в EPEL, але це, ймовірно, залежить від деяких пакунків з Red Hat Enterprise Linux, які ви ще не встановили, тому спочатку вам потрібно перекласти оцінку на CentOS.
Флоріан Ваймер

3
Я розуміюError: 'rhel-7-server-extras-rpms' does not match a valid repository ID.
праягупд

@prayagupd Це виглядає як не пов'язана проблема управління передплатою. Вам слід відкрити справу підтримки.
Флоріан Ваймер

@prayagupd запізно відповідати, але це тому, що ви, можливо, не використовуєте серверну версію RHEL, можливо, ви використовуєте робочу станцію.
Анураг

64

Встановлення Selinux із сховища Centos спрацювало для мене:
1. Перейдіть на http://mirror.centos.org/centos/7/extras/x86_64/Packages/
2. Знайдіть останню версію контейнера-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
Дякую, це спрацювало для мене. Майбутнім googlers копіювати та вставляти те, що вони мають, майже напевно не вдасться, оскільки на даний момент це застаріло. Перейдіть за посиланням на інші версії та візьміть останню версію (скопіюйте адресу посилання).
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

існує проблема залежності версії контейнера-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

Важливо зауважити, що перед встановленням docker-ce може знадобитися оновлення yum залежно від вашої версії
rogervila

помилка: repodata / repomd.xml з бази: [Errno 256] Немає більше дзеркал для спроби.
Янов

11

Docker CE не підтримується на RHEL. Будь-який спосіб, який ви намагаєтесь обійти, не підтримується. Ви можете побачити підтримувані платформи в документації Docker . Я пропоную вам або використовувати підтримувану ОС, або перейти на Enterprise Edition.


8

У вас вже встановлений контейнер-selinux для версії 3.7. Перевірте, чи працює наступна версія 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

Перейдіть до свого терміналу як root і запустіть:

ням встановити http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm

Після цього ви можете приступити до встановлення docker:

yum встановити docker-ce


4

Щоб вирішити наступну помилку, я стикався з установкою docker-ce на 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

Будь ласка, запустіть наступну команду, перш ніж встановлювати останню версію 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

Примітка: Запустіть усі ці команди з root користувачем


будь ласка, спробуйте mirror.centos.org/centos/7/extras/x86_64/Packages/…
suiwenfeng

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

Я отримував ту ж помилку Потрібна: container-selinux> = 2.9 на екземплярі amazon ec2 (Rhel7)

Я спробував додати додатковий пакет rmp repo, виконавши sudo yum-config-manager --enable rhui-REGION-rhel-server-extras,
але це працює. дотримуючись кроків з https://installdocker.blogspot.com/, і я зміг встановити docker.


2

Спробуйте:

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

У мене це спрацювало.


Ваша відповідь не додає жодної нової інформації. На це вже відповідає хтось інший
Анкур Аггарвал,

@AnkurAggarwal, коли ви залишаєте коментарі, пов'язані з модеруванням, ви дійсно повинні бути більш конкретними, ніж "На це вже відповів хтось інший". Це також не поважна причина; те, що на нього відповіли, не означає, що не можна додавати іншу відповідь, припускаючи, що це не відвертий плагіат і дотримується загальних правил для відповідей на ПЕ.
Зої

2

[ВИРІШЕНО] Проста одна команда, щоб вирішити цю проблему.

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


0

Оновлення в червні 2019 року

Яка собача вечеря. На жаль, інші відповіді для мене не спрацювали.

Здебільшого офіційні інструкції докера для встановлення з використанням сховища 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

Зауважте також, що вищезазначене працює для стандартних RHEL AMI на AWS, але не для типу AMI Amazon Amazon. Можливо, посилання на цю проблему github також може виявитися проникливим.

Доданий бонус, я знайшов такі додаткові команди корисними:

Запустіть демон Docker :

sudo systemctl start docker.service

Надайте поточному користувачеві (у моєму випадку ec2-user- зверніться до whoami) права на групу докерів. Це дозволяє уникнути запуску всього з sudo.

sudo usermod -aG docker $USER

Тепер вийдіть і ввійдіть знову як той самий користувач, що і раніше (у моєму випадку ec2-user).

На даний момент все повинно працювати. Перевірте демон Docker :

docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

Щось на стороні Докера змінилося зовсім недавно. Тепер їм потрібен контейнер-selinux 2.74. Це заважає нам зараз встановлювати докер у centos7.4.
Халсафар

0

Найкращий спосіб вирішити цю проблему - це. Завантажте останній пакет container-selinux з веб-сторінки http://mirror.centos.org/centos/7/extras/x86_64/Packages/ у віртуальну машину або на машину, де потрібно встановити докер. Помилка: колись він попросить підписку на Red Hat для завантаження з репо. ми можемо зробити це вручну без підписки, як показано нижче. Запустіть команду нижче, це встановить залежності вручну rpm -i container-selinux-2.107-3.el7.noarch.rpm, а потім запустите yum install docker-ce

дякую Саа


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

Для Рела:

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.