【问题标题】:Does a RHEL7 docker container need subscription?RHEL7 docker 容器是否需要订阅?
【发布时间】:2017-04-19 21:05:18
【问题描述】:

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

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

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

或者

在构建映像时是否需要订阅 dockerfile 本身?

谢谢

【问题讨论】:

    标签: docker dockerfile rhel7 docker-container docker-image


    【解决方案1】:

    在 Docker hub 上,你可以找到一些 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.

    【讨论】:

    • cloudgeekz.com 链接失效了
    【解决方案2】:

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

    【讨论】:

    • 你可以使用常规 Docker 还是必须使用 'podman'
    • 是的,您可以将图像与常规 docker 一起使用。
    • 如果我不使用订阅,我无法找到通常在 CodeReady 存储库中找到的包。
    【解决方案3】:

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

    解释文档所说的内容:

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

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

    【讨论】:

    • 我发现在尝试使用“docker build”构建基于 rhel 的容器时需要注册,但在使用“podman build”时不需要注册。如果使用 docker build,可以通过添加额外的 RUN 步骤RUN subscription-manager register --username=<rhn-user> --password=<rhnpwd> --auto-attach 在 Docker 文件中完成注册。并在构建结束时取消注册:RUN subscription-manager unregister
    【解决方案4】:

    我使用 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,没有任何问题。

    【讨论】:

    • 您可以使用以下命令隐藏警告:yum --disableplugin=subscription-manager
    【解决方案5】:

    我发现这篇文章阐明了不需要订阅的 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 命令

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    【解决方案6】:

    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/

    【讨论】:

      猜你喜欢
      • 2017-05-12
      • 2014-07-18
      • 2018-07-23
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      • 2021-04-01
      • 2019-05-19
      • 1970-01-01
      相关资源
      最近更新 更多