RHEL上的Docker CE - 需要:container-selinux> = 2.9

时间:2017-07-24 04:50:24

标签: docker unix rhel

我正在尝试使用此linkDocker 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-brokenrpm -Va --nofiles --nodigest,但又遇到了同样的错误。请让我知道如何解决此问题并在RHEL 7.3中安装Docker CE。

19 个答案:

答案 0 :(得分:39)

从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 :(得分:33)

container-selinux频道可以使用rhel-7-server-extras-rpms个套餐。您可以使用以下方式启用它:

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

该软件包的来源也已导出到git.centos.org,因此您可以使用mock自行重建它:

(这不是编程问题,因此您应该使用其他网站之一。)

答案 2 :(得分:20)

只需安装selinux最新版本即可修复:
public class DivisionController: ApiController { private readonly ICalcService _calcService; public DivisionController(ICalcService calcService) { _calcService = calcService; } [HttpGet] public IHttpActionResult div(int a, int b) { return Ok(_calcService.Divide(a,b)); } } public class CalcService: ICalcService { public decimal Divide(int a, int b) { if(b == 0) { //handle what to do if it's zero division, perhaps throw exception return 0; } return a / b; } }

旧版本的2.9 http://ftp.riken.jp/Linux/cern/centos/7/extras/x86_64/Packages/

答案 3 :(得分:16)

错误:软件包: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.x上修复此错误,我已经执行了以下操作

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

现在启动docker服务

答案 4 :(得分:7)

RHEL不支持Docker CE。你试图解决的任何方式都不是一种支持的方式。您可以在Docker Documentation中查看支持的平台。我建议你使用支持的操作系统,或者切换到企业版。

答案 5 :(得分:6)

前往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:

  

yum install docker-ce

答案 6 :(得分:2)

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

我试图通过执行添加额外的软件包rmp repo sudo yum-config-manager-启用rhui-REGION-rhel-server-extras
但它有效。 按照https://installdocker.blogspot.com/的步骤操作,我就可以安装docker。

答案 7 :(得分:2)

[已解决]一个简单的命令即可解决此问题。

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

答案 8 :(得分:1)

REHL 不正式支持 DOCKER Ce 来修复运行以下命令的问题

wget http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.107-3.el7.noarch.rpm sudo rpm -i container-selinux-2.107.el7.noarch.rpm

wget http://mirror.centos.org/centos/7/extras/x86_64/Packages/slirp4netns-0.4.3-4.el7_8.x86_64.rpm

#在RHEL上设置Docker CE仓库: 须藤 yum install -y yum-utils sudo yum install -y device-mapper-persistent-data lvm2 须藤 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum makecache 快 yum 安装 docker-ce docker-ce-cli containerd.io #启动Docker: 须藤 systemctl 启动泊坞窗

#测试您的 Docker CE 安装: 须藤泊坞窗运行你好世界

答案 9 :(得分:1)

解决此问题的最佳方法是。 从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

谢谢 萨阿

答案 10 :(得分:1)

在CentOS7上,我必须遵循第三个安装方法get-docker.sh https://docs.docker.com/install/linux/docker-ce/centos/#install-using-the-convenience-script

答案 11 :(得分:1)

2019年6月更新

真是狗狗晚餐。不幸的是,其他答案对我不起作用。

在大多数情况下,official docker instructions用于使用存储库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客户端

docker --version
Docker version 18.09.7, build 2d0083d

还请注意,以上内容适用于AWS上的标准RHEL AMI,但不适用于Amazon Linux AMI类型。可能还会发现对this github issue的引用很有见识。

增加了奖励,我发现以下附加命令很有用:

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

答案 12 :(得分:1)

要解决以下错误,我面临在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用户身份运行所有这些命令

答案 13 :(得分:1)

要更新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

答案 14 :(得分:1)

尝试:

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

对我有用。

答案 15 :(得分:0)

您已经为3.7版安装了container-selinux 检查以下docker-ce版本是否对您有用,对我有用。

=YEAR("1/1/" & A1)

答案 16 :(得分:0)

与其他答案一样,将“ extras”订阅频道添加到CentOS 7 Spacewalk部署中也可以解决此问题。

答案 17 :(得分:-1)

this链接帮助我解决了此问题

这是解决方案: 对于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

答案 18 :(得分:-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