RHEL7 docker 容器是否需要订阅?

Does a RHEL7 docker container need subscription?

我有一个带有 docker 的 rhel7 主机。 我已经构建了一个以 rhel7 作为基础图像的图像。 但是当我 运行 容器并执行 yum update 或尝试使用 yum 安装包时,它给我以下错误。

"This system is not registered to Red Hat Subscription.you can use subscription manager to register"

我已经订阅了主机 RHEL Machine。我需要为每个容器订阅 rhel 图像吗?

构建图像时是否需要订阅 docker 文件本身?

谢谢

在 Docker 集线器上,您可以找到一些 Red Hat docker 图像,例如

https://hub.docker.com/r/richxsl/rhel6.5/

https://hub.docker.com/r/lionelman45/rhel7/

但要更新它们,您需要有效的订阅

您将在 Red Hat 站点

找到 Red Hat docker 图片

https://access.redhat.com/containers

本文总结了构建 Red hat docker 映像所需的内容

http://cloudgeekz.com/625/howto-create-a-docker-image-for-rhel.html

开始于

Pre-requisites Access to RHEL package repository.

RHEL 7 documentation 涵盖了这一点。请使用您的订阅阅读第 1.4 节。

解释文档中的内容:

  • 您必须使用订阅的 RHEL 7 主机来构建容器
  • 基于 RHEL 7 的容器将自动使用主机的订阅并能够访问 RHEL 7 yum 存储库

如果您尝试在正确订阅的 RHEL 7 主机上构建基于 RHEL 7 的容器但它不起作用,您可能 运行 遇到了错误。我会联系支持人员尝试解决这个问题。

RHEL 8 Red Hat now offers a universal base image docker 个不需要订阅的容器。

我使用 podman 拉取了 RHEL 7 Universal Base Image,像这样:

podman pull registry.access.redhat.com/ubi7/ubi

之后,虽然还是看到了警告信息:

This system is not registered with an entitlement server. You can use subscription-manager to register.

但使用 yum 进行软件包安装或更新没有问题。

您也可以在相同的方法中使用 RHEL8 ubi,没有任何问题。

我发现这篇文章阐明了不需要订阅的 RHEL UBI 图像。 https://developers.redhat.com/blog/2020/03/24/red-hat-universal-base-images-for-docker-users/

docker search registry.access.redhat.com/ubi
docker run -it --name test registry.access.redhat.com/ubi8/ubi:8.1 bash

我尝试用 yum 安装一个 netcat 命令,它可以无缝运行

RHEL UBI 映像包含 3 个默认存储库(参见 yum repolist)。 CodeReady 存储库需要订阅 (ubi-8-codeready-builder)。

如果您决定不订阅,那么您可以通过以下方式隐藏这些警告:

yum --disableplugin=subscription-manager install <package>

来源: https://developers.redhat.com/blog/2020/03/24/red-hat-universal-base-images-for-docker-users/