RHEL 上的 Docker CE - 要求:container-selinux >= 2.9
Posted
技术标签:
【中文标题】RHEL 上的 Docker CE - 要求:container-selinux >= 2.9【英文标题】:Docker CE on RHEL - Requires: container-selinux >= 2.9 【发布时间】:2017-12-29 13:57:06 【问题描述】:我正在尝试使用此link 在RHEL
上安装Docker CE
。这是我的 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
但再次遇到相同的错误。请告诉我如何解决此问题并在 RHEL 7.3 中安装 Docker CE。
【问题讨论】:
如果您只想让它工作(知道您使用的是不受支持的 rpm),请查看 ***.com/a/45033117/3370010 【参考方案1】:container-selinux
包可从rhel-7-server-extras-rpms
频道获得。您可以使用以下方式启用它:
subscription-manager repos --enable=rhel-7-server-extras-rpms
软件包的源代码也已导出到git.centos.org
,因此您可以使用mock
自己重建它:
(这不是编程问题,因此您应该使用其他网站之一。)
【讨论】:
我没有有效订阅。有什么替代方法吗? 您可以使用mock
从sources on git.centos.org
构建包。 mock
本身在 EPEL 中,但它可能依赖于您尚未安装的 Red Hat Enterprise Linux 中的一些软件包,因此您需要先跨级到 CentOS。
我收到Error: 'rhel-7-server-extras-rpms' does not match a valid repository ID.
@prayagupd 这看起来像是一个无关的订阅管理问题。您应该打开一个支持案例。
@prayagupd 回复太晚了,但这是因为您可能没有使用 RHEL 服务器版本,您可能正在使用工作站。【参考方案2】:
从 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 的存储库中查找最新版本
【讨论】:
有什么简单的方法可以编写脚本以便它自己找到最新版本? 如果需要这种版本选择,我们为什么要有像 YUM 这样的包管理器?【参考方案3】:安装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/
【讨论】:
谢谢,这对我有用。对于未来的谷歌人来说,复制和粘贴他们上面的内容几乎肯定是行不通的,因为此时它已经过时了。转到更多版本链接并获取最新版本(复制链接地址)。【参考方案4】:错误:包: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) 百胜安装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 服务
【讨论】:
yum install vault.centos.org/centos/7.3.1611/extras/x86_64/Packages/… 是安装 container-selinux 的唯一方法。谢谢! 重要的是要注意,在安装 docker-ce 之前,可能需要根据您的版本进行 yum 更新 failure: repodata/repomd.xml from base: [Errno 256] 没有更多镜像可以尝试。【参考方案5】:RHEL 不支持 Docker CE。您试图绕过的任何方式都不是受支持的方式。您可以在Docker Documentation 中查看支持的平台。我建议您要么使用受支持的操作系统,要么切换到企业版。
【讨论】:
【参考方案6】:您已经为 3.7 版本安装了 container-selinux 检查以下 docker-ce 版本是否适合您,它适合我。
sudo yum -y install docker-ce-cli.x86_64 1:19.03.5-3.el7
【讨论】:
这实际上对我有用!从字面上看,没有其他答案做到了。【参考方案7】:前往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 安装 docker-ce
【讨论】:
【参考方案8】:为了解决我在 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 用户运行所有这些命令
【讨论】:
请尝试mirror.centos.org/centos/7/extras/x86_64/Packages/…【参考方案9】:要更新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 - 未找到 移到mirrors.aliyun.com/centos/7/extras/x86_64/Packages/…【参考方案10】:我遇到了同样的错误要求:Amazon ec2 实例 (Rhel7) 上的 container-selinux >= 2.9
我尝试通过执行添加额外的包 rmp repo sudo yum-config-manager --enable rhui-REGION-rhel-server-extras 但它有效。 按照https://installdocker.blogspot.com/ 的步骤,我能够安装 docker。
【讨论】:
【参考方案11】:试试:
yum install http://vault.centos.org/centos/7.3.1611/extras/x86_64/Packages/container-selinux-2.9-4.el7.noarch.rpm
它对我有用。
【讨论】:
您的回答没有添加任何新信息。其他人已经回答了这个问题 @AnkurAggarwal 当您离开与审核相关的 cmets 时,您确实应该比“这已经由其他人回答”更具体。这也不是正当理由;仅仅因为它被回答并不意味着它不允许添加另一个答案,假设它不是公然抄袭并遵循 SE 答案的一般规则。【参考方案12】:[已解决] 一个简单的命令即可解决此问题。
yum install http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.107-3.el7.noarch.rpm
【讨论】:
【参考方案13】: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
#Set up the Docker CE repository on RHEL:
sudo yum install -y yum-utils
sudo yum install -y device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum makecache fast
yum install docker-ce docker-ce-cli containerd.io
#Start Docker:
sudo systemctl start docker
#Test your Docker CE installation:
sudo docker run hello-world
【讨论】:
【参考方案14】: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
授予当前用户(在我的情况下为 ec2-user
- 请与 whoami
核对)对 docker 组的权限。这样可以避免使用 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。【参考方案15】:在 CentOS7 上,我必须遵循第三种安装方法,get-docker.sh https://docs.docker.com/install/linux/docker-ce/centos/#install-using-the-convenience-script
【讨论】:
【参考方案16】:解决这个问题的最佳方法是。 从http://mirror.centos.org/centos/7/extras/x86_64/Packages/下载最新的container-selinux包到需要安装docker的VM或机器中。 错误:有时它会要求从 repo 下载 red hat 订阅。 我们可以在没有订阅的情况下手动完成,如下所示 运行以下命令,这将手动安装依赖项 rpm -i container-selinux-2.107-3.el7.noarch.rpm 然后运行 yum install docker-ce
谢谢 萨亚
【讨论】:
【参考方案17】:与其他答案一样,将“额外”订阅频道添加到 CentOS 7 Spacewalk 部署也可以解决此问题。
【讨论】:
【参考方案18】:我关注了许多链接,包括官方文档,但最终都出现了这个错误:
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
【讨论】:
【参考方案19】: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
对于瑞尔:
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
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review 用解释更新了答案以上是关于RHEL 上的 Docker CE - 要求:container-selinux >= 2.9的主要内容,如果未能解决你的问题,请参考以下文章
RHEL 7 使用 CentOS 源安装 docker ce