7.4. 標準の UBI コンテナーへのソフトウェアの追加
標準の UBI コンテナー内にソフトウェアを追加するには、UBI 以外の yum リポジトリーを無効にして、ビルドするコンテナーが再配布されるようにします。
前提条件
-
container-tools
モジュールがインストールされている。
手順
registry.access.redhat.com/ubi8/ubi
イメージをプルして実行します。$ podman run -it --name myubi registry.access.redhat.com/ubi8/ubi
myubi
コンテナーにパッケージを追加します。UBI リポジトリーにあるパッケージを追加するには、UBI リポジトリー以外の yum リポジトリーをすべて無効にします。たとえば、
bzip2
パッケージを追加するには、次のコマンドを実行します。# yum install --disablerepo=* --enablerepo=ubi-8-appstream-rpms --enablerepo=ubi-8-baseos-rpms bzip2
UBI リポジトリーにないパッケージを追加するには、リポジトリーを無効にしないでください。たとえば、
zsh
パッケージを追加するには、次のコマンドを実行します。# yum install zsh
別のホストリポジトリーにあるパッケージを追加するには、必要なリポジトリーを明示的に有効にします。たとえば、
codeready-builder-for-rhel-8-x86_64-rpms
リポジトリーからpython38-devel
パッケージをインストールするには、以下のコマンドを実行します。# yum install --enablerepo=codeready-builder-for-rhel-8-x86_64-rpms python38-devel
検証
コンテナー内で有効なリポジトリーのリストを表示します。
# yum repolist
- 必要なリポジトリーがリスト表示されていることを確認します。
インストール済みパッケージのリストを表示します。
# rpm -qa
- 必要なパッケージがリスト表示されていることを確認します。
Red Hat UBI リポジトリーに含まれていない Red Hat パッケージをインストールすると、サブスクライブしている RHEL システム以外でコンテナーを配布する機能が限定される可能性があります。