红帽通用基础镜像 (UBI)常见问题解答声称
8. 基于 UBI 构建的应用程序是否可以访问与基于非 UBI 基础镜像构建的镜像相同的内容?
是的,但访问非 UBI 内容需要红帽订阅,并且使用非 UBI 内容构建的容器不可再分发。
当我在已注册、订阅的主机上启动 UBI 容器时,可用 RPM 存储库的列表会有所不同,具体取决于我是从 RHEL ISO(本例中为 VirtualBox VM)创建主机还是从 RHEL AMI 启动 EC2 实例。EC2 实例上的 UBI 容器无权访问全套 RPM 软件包存储库。
例如:
RHEL8 EC2 实例上的 UBI8 容器
[ec2-user@ip-WWW-XXX-YYY-ZZZ ~]$ podman run --rm -it ubi7 yum repolist all | wc -l
41
RHEL8 VirtualBox VM 上的 UBI8 容器
[neirbowj@rhel8 ~]$ podman run --rm -it ubi8 yum repolist all | wc -l
427
这是为什么?如何修改 EC2 环境,以便可以从 UBI 容器内访问全套 RPM 软件包存储库?
造成这种差异的原因是 RHEL AMI 附带一个非默认值
/etc/rhsm/rhsm.conf:manage_repos = 0
。设置manage_repos = 1
将使 RHEL EC2 实例在 RPM 软件包存储库访问方面的行为类似于 RHEL VM。使用以下命令查看当前 RHSM 配置:
请注意,方括号指示哪些值是默认值。
启用 RHSM 来管理存储库: