带有Red Hat Network Subscription的yum在rhel Docker映像中如何工作?


10

红帽企业Linux 7包括对运行Docker容器的官方支持,而红帽提供了一组官方的RHEL Docker映像。这些映像的一个有趣特征是,可以通过主机的Red Hat Network订阅安装软件包,而无需在容器内执行任何配置。

引用https://access.redhat.com/articles/881893#createimage

“对于当前的Red Hat Docker版本,您从Red Hat提取的默认RHEL 7 Docker映像将能够利用主机系统上可用的RHEL 7权利。因此,只要您的Docker主机已正确订阅并且存储库为如果启用了您需要在容器中获取所需软件的功能(并可以从Docker主机访问Internet),则应该能够从RHEL 7软件存储库安装软件包。”

我担心的是,实现这一目标的机制相当模糊。例如,当使用rhel7.1映像启动新容器时,yum install foo甚至无需配置http代理环境变量就可以运行。在不了解这种机制的情况下,系统管理员可能会受到主机系统,Docker守护程序和正在运行的容器之间未知交互的支配。这也表明主机和容器之间的正常隔离在某种程度上受到了损害(尽管是良性的)。

要指出一点:如何实现这种订阅支持,它是否取决于Red Hat通过Subscription Network提供的Docker守护程序的自定义构建?



谢谢@michael。不幸的是,我没有访问该网站上发布的答案的权限,因为我个人没有Red Hat订阅帐户。(我的雇主使用的帐户由组织中其他地方的员工持有)。我将查看组织中具有相关访问权限的人是否可以向我提供此知识库答案的副本。
Leynos

@michael,您应该将您的评论发布为答案恕我直言。
Bram 2015年

@MichaelHampton我有机会在Red Hat网站上阅读答案。在此处发布的任何答案中可能都应注意,所涉及的功能取决于Red Hat的Docker守护程序的自定义版本。
Leynos

Answers:


4

红帽带有一个docker称为“秘密”补丁的补丁,该补丁在运行权限信息时将权利信息安装到容器中。

您可以在projectatomic / docker存储库中看到对该修补程序的更好描述以及到上游PR的链接:

https://github.com/projectatomic/docker/tree/docker-1.13.1-rhel#add-rhel-super-secrets-patchpatch

请注意,您需要选择一个分支(链接指向'docker-1.3.1-rhel'分支)以查看所有已携带的补丁程序信息。


因此,因此,如果您尝试使用Docker CE(没有该路径)而不是Red Hat提供的Docker,您将不会获得授权信息,并且yumDocker构建内部的命令是否会失败?
拉德瓦尔德

2

了解了Red Hat Satellite管理的虚拟机是如何获得许可的,并取消了@Leynos的评论,我希望有类似的东西virt-who,该服务与虚拟化主机(vSphere,KVM等)进行通信并查询到查找虚拟机的详细信息。然后,它将在Satellite中进行必要的API调用,以允许VM使用主机的数据中心许可证。

我希望Red Hat docker守护进程提供类似的功能,使容器可以知道它是从已订阅的Docker主机运行的,因此可以使用该订阅。

也从这里

重要信息:如本主题中所述,使用docker命令运行容器并不需要您注册RHEL Atomic Host系统并附加订阅。但是,如果要在容器中运行yum install命令,则该容器必须从RHEL Atomic Host获得有效的订阅信息,否则它将失败。

因此,容器或守护程序中都可以查询主机以查找订阅信息(也可能还有回购信息)。

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.