Docker CE на RHEL - Требуется: container-selinux> = 2.9


85

Я пытаюсь установить 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
Если вы хотите просто заставить его работать (зная, что вы используете неподдерживаемый 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

Вы можете использовать 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, вы можете использовать рабочую станцию.
Анураг Синха

65

У меня сработала установка Selinux из репозитория Centos:
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 09

53

Просто установите последнюю версию 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
Спасибо, у меня это сработало. Для будущих гуглеров копирование и вставка того, что у них есть выше, почти наверняка не сработает, поскольку на данный момент оно устарело. Перейдите по ссылке на другие версии и скачайте последнюю версию (скопируйте адрес ссылки).
rjhilgefort 04

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 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

теперь запустите службу докеров


yum install vault.centos.org/centos/7.3.1611/extras/x86_64/Packages/… был единственным способом установить container-selinux. Спасибо!
rogervila 01

Важно отметить, что перед установкой docker-ce может потребоваться обновление yum в зависимости от вашей версии
rogervila

ошибка: repodata / repomd.xml из базы: [Errno 256] Больше не нужно пробовать зеркала.
Янов

11

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


8

У вас уже установлен container-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/ и получите ссылку на последний пакет container-selinux. В моем случае ссылка была http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm

Зайдите в свой терминал как root и запустите:

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

После этого можно переходить к установке докера:

ням установить 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-репозитория, выполнив sudo yum-config-manager --enable rhui-REGION-rhel-server-extras,
но он работает. выполнил шаги с 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

У меня это сработало.


Ваш ответ не добавляет новой информации. На этот вопрос уже ответил кто-то другой
Анкур Аггарвал

@AnkurAggarwal, когда вы оставляете комментарии, связанные с модерацией, вы действительно должны быть более конкретными, чем «На это уже кто-то ответил». Это тоже не уважительная причина; просто потому, что на него дан ответ, не означает, что нельзя добавлять еще один ответ, при условии, что это не является явным плагиатом и соответствует общим правилам для ответов SE.
Зои

2

[Решено] Простая команда для решения этой проблемы.

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


1

Лучший способ решить эту проблему -. Загрузите последний пакет 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

Обновление июнь 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 Linux. Ссылка на эту проблему на github также может оказаться полезной .

Дополнительный бонус, я нашел полезными следующие дополнительные команды:

Запустите демон докера :

sudo systemctl start docker.service

Дайте текущему пользователю (в моем случае ec2-user- проверьте с whoami) права на группу докеров. Это позволяет избежать запуска всего с помощью sudo.

sudo usermod -aG docker $USER

Теперь выйдите из системы и войдите снова как тот же пользователь, что и раньше (в моем случае ec2-user).

На данный момент все должно работать. Проверьте демон докера :

docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

Что-то на стороне Docker изменилось совсем недавно. Теперь им требуется container-selinux 2.74. Теперь это не позволяет нам установить докер в centos7.4.
Halsafar

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 09
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.