macOS 上 Docker 容器中的 RHEL 9:在容器内运行时订阅管理器被禁用

Nic*_*sky 4 redhat mac-osx rhel8

我正在尝试通过 Docker 映像使用 RHEL 9 redhat/ubi9,并拥有 redhat 个人开发人员订阅。但是,在尝试使用 时subscription-manager,收到此错误消息:subscription-manager is disabled when running inside a container. Please refer to your host system for subscription management.。我应该在 macOS 级别配置某些内容,还是在容器本身中配置?

对于 RHEL 8 映像 ( redhat/ubi8),一切正常。

小智 6

您所需要的只是一个return Falsefrom in_container(),请参阅https://github.com/candlepin/subscription-manager/blob/subscription-manager-1.28.32-1/src/rhsm/config.py#L105-L114

FROM registry.access.redhat.com/ubi7/ubi

ARG REDHAT_USERNAME
ARG REDHAT_PASSWORD

RUN sed -i 's/\(def in_container():\)/\1\n    return False/g' /usr/lib64/python*/*-packages/rhsm/config.py
RUN subscription-manager register --username $REDHAT_USERNAME --password $REDHAT_PASSWORD --auto-attach
RUN yum update -y
RUN subscription-manager unregister
Run Code Online (Sandbox Code Playgroud)
FROM registry.access.redhat.com/ubi8/ubi

ARG REDHAT_USERNAME
ARG REDHAT_PASSWORD

RUN sed -i 's/\(def in_container():\)/\1\n    return False/g' /usr/lib64/python*/*-packages/rhsm/config.py
RUN subscription-manager register --username $REDHAT_USERNAME --password $REDHAT_PASSWORD --auto-attach
RUN yum update -y
RUN subscription-manager unregister
Run Code Online (Sandbox Code Playgroud)
FROM registry.access.redhat.com/ubi9/ubi

ARG REDHAT_USERNAME
ARG REDHAT_PASSWORD

RUN sed -i 's/\(def in_container():\)/\1\n    return False/g' /usr/lib64/python*/*-packages/rhsm/config.py
RUN subscription-manager register --username $REDHAT_USERNAME --password $REDHAT_PASSWORD --auto-attach
RUN yum update -y
RUN subscription-manager unregister
Run Code Online (Sandbox Code Playgroud)