纯docker引擎上的Redhat容器

纯docker引擎上的Redhat容器

我正在尝试在一个简单的 docker 主机上运行一个 rhel 容器。docker 主机是 rhel7,已完全正确订阅。我想使用纯 docker 引擎包而不是 redhat 自带的包,但不幸的是,一旦我切换到纯 docker 引擎,订阅管理和使用似乎就不可用了。我可以毫无问题地运行映像,但是一旦我尝试使用 yum,就没有运气了:

# docker run --rm -it registry.access.redhat.com/rhel7 /bin/sh
sh-4.2# yum update
Loaded plugins: ovl, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
There are no enabled repos.
 Run "yum repolist all" to see the repos you have.
 You can enable repos with yum-config-manager --enable <repo>

Yum 和订阅功能在主主机系统上运行良好。有人知道使用纯引擎和主机凭据让 redhat 容器运行(并能够提取软件包)的方法吗?

谢谢!

答案1

在 RHEL7 机器上开发容器(或部署在容器中的应用程序)的“官方”方法是使用容器开发套件

Red Hat 容器开发套件提供了基于 Red Hat Enterprise Linux 的预构建容器开发环境,可帮助您开发基于容器的(有时也称为 Docker) 应用程序。您构建的容器可以轻松部署在任何 Red Hat 容器主机或平台上,包括:Red Hat Enterprise Linux、Red Hat Enterprise Linux Atomic Host 和我们的平台即服务解决方案 OpenShift Enterprise 3。

斜体是我的。

订阅的 RHEL7(甚至是开发人员订阅)将透明地允许您从容器中使用您的订阅可用的 RHEL 存储库。

答案2

因此,看起来您可以通过在容器内安装 /etc/pki/consumer 和 /etc/pki/entitlement 来使其工作:

docker run --rm -it -v /etc/pki/consumer:/etc/pki/consumer:ro -v /etc/pki/entitlement:/etc/pki/entitlement:ro --privileged registry.access.redhat.com/rhel7 /bin/sh

还有其他更“官方”的方法来实现这个功能吗?

相关内容