红帽企业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守护程序的自定义构建?