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 リポジトリーに含まれていない Red Hat パッケージをインストールすると、サブスクライブしている RHEL システム以外でコンテナーを配布する機能が限定される可能性があります。