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-brokenrpm -Va --nofiles --nodigest但再次遇到相同的错误。请让我知道如何解决此问题并在RHEL 7.3中安装Docker CE。


1
如果您只是想使其工作(知道您使用的是不受支持的rpm),请查看stackoverflow.com/a/45033117/3370010
waternova

Answers:


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。
Florian Weimer

3
我明白了Error: 'rhel-7-server-extras-rpms' does not match a valid repository ID.
–prasagupd

@prayagupd这看起来像一个不相关的订阅管理问题。您应该打开支持案例。
Florian Weimer

@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)百胜安装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

现在启动docker服务


yum installvault.centos.org/centos/7.3.1611/extras/x86_64/Packages/…是安装container-selinux的唯一方法。谢谢!
rogervila

重要的是要指出,在安装docker-ce之前,可能需要根据您的版本进行yum更新
rogervila

失败:来自以下位置的repodata / repomd.xml:[Errno 256]没有更多的镜像可以尝试。
亚诺夫

11

RHEL不支持Docker CE。您尝试绕过的任何方式都不支持。您可以在Docker文档中查看受支持的平台。我建议您要么使用受支持的操作系统,要么切换到企业版。


8

您已经安装了适用于3.7版的container-selinux,请检查以下docker-ce版本是否对您有用,对我来说适用。

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

2
这实际上为我工作!从字面上没有其他的答案一样。
6

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安装http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm

之后,您可以继续安装docker:

百胜安装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

注意:以root用户运行所有这些命令




2

我遇到了同样的错误,需要:Amazon EC2实例上的container-selinux> = 2.9(Rhel7)

我试图通过执行sudo yum-config-manager --enable rhui-REGION-rhel-server-extras添加额外的软件包rmp repo,
但是它可以工作。按照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

它为我工作。


您的答案不会添加任何新信息。这已经是别人回答
ANKUR AGGARWAL

@AnkurAggarwal,当您留下与审核相关的评论时,您实际上应该比“已由其他人回答”更具体。这也不是正当的理由;仅仅因为已经回答,并不意味着它不允许添加其他答案,前提是这不是公然的窃,并且遵循SE回答的一般规则。
佐伊

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进行安装的docker官方说明适用。

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客户端

docker --version
Docker version 18.09.7, build 2d0083d

另请注意,以上内容适用于AWS上的标准RHEL AMI,但不适用于Amazon Linux AMI类型。可能还会发现引用此github问题很有见地。

另外,我发现以下附加命令很有用:

启动Docker守护程序

sudo systemctl start docker.service

授予当前用户docker组的权限(在我的情况下ec2-user-使用进行检查whoami)。这样可以避免使用sudo运行所有内容。

sudo usermod -aG docker $USER

现在,以与以前相同的用户注销并再次登录(在我的情况下ec2-user)。

此时,一切都应该正常工作。检查docker守护进程

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或Machine中。错误:有时它将要求红帽订阅从回购中下载。我们可以使用以下订阅手动进行操作:运行以下命令,这将手动安装依赖项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

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

虽然此链接可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。如果链接的页面发生更改,仅链接的答案可能会失效。-评分
班尼Bottema

用解释更新了答案
user_dev
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.