7.4. 在标准 UBI 容器中添加软件
要在标准 UBI 容器中添加软件,请禁用非 UBI dnf 存储库,以确保您构建的容器可以被重新分发。
先决条件
-
container-tools
元数据包已安装。
流程
拉取并运行
registry.access.redhat.com/ubi9/ubi
镜像:$ podman run -it --name myubi registry.access.redhat.com/ubi9/ubi
将软件包添加到
myubi
容器。要添加在 UBI 存储库中的软件包,请禁用除 UBI 软件仓库以外的所有 dnf 软件仓库。例如,要添加
bzip2
软件包:# dnf install --disablerepo=* --enablerepo=ubi-8-appstream-rpms --enablerepo=ubi-8-baseos-rpms bzip2
要添加不在 UBI 存储库中的软件包,请不要禁用任何存储库。例如,要添加
zsh
软件包:# dnf install zsh
要添加位于不同主机存储库中的软件包,请明确启用您需要的存储库。例如,要安装
codeready-builder-for-rhel-8-x86_64-rpms
存储库中的python38-devel
软件包:# dnf install --enablerepo=codeready-builder-for-rhel-8-x86_64-rpms python38-devel
验证
列出容器内所有启用的存储库:
# dnf repolist
- 确保列出了所需的存储库。
列出所有安装的软件包:
# rpm -qa
- 确保列出了所需的软件包。
注意
安装不在 Red Hat UBI 存储库中的红帽软件包可能会限制在订阅的 RHEL 系统外分发容器的功能。