11.4. イメージのビルドとコンテナーのイメージへのプル
コンテナーイメージを作成したら、カスタマイズしたイメージをビルドし、コンテナーイメージをそこにプルできます。そのためには、ブループリントで コンテナーのカスタマイズ を指定し、最終的なイメージの コンテナー名 を指定する必要があります。ビルドプロセス中に、コンテナーイメージが取得され、ローカルの Podman コンテナーストレージに配置されます。
前提条件
-
コンテナーイメージを作成し、それをローカルの
quay.ioコンテナーレジストリーインスタンスにプッシュしました。コンテナーアーティファクトをコンテナーレジストリーに直接プッシュする を参照してください。 - registry.access.redhat.com にアクセスできます。
-
コンテナー
manifest IDを持っています。 -
qemu-kvmおよびqemu-imgパッケージがインストールされている。
手順
qcow2イメージをビルドするためのブループリントを作成します。このブループリントには、"" カスタマイズを含める必要があります。name = "image" description = "A qcow2 image with a container" version = "0.0.1" distro = "rhel-90" [[packages]] name = "podman" version = "*" [[containers]] source = "registry.access.redhat.com/ubi9:8080/osbuild/container/container-image@sha256:manifest-ID-from-Repository-tag: tag-version" name = "source-name" tls-verify = trueブループリントをプッシュします。
# composer-cli blueprints push blueprint-image.tomlコンテナーイメージをビルドします。
# composer-cli start compose image qcow2- image はブループリントの名前です。
qcow2はイメージタイプです。注記quay.ioレジストリーでコンテナーをチェックするため、イメージのビルドに時間がかかります。
Compose のステータスを確認するには、以下のコマンドを実行します。
# composer-cli compose statusCompose が完了すると、ステータスが FINISHED になります。リスト内の Compose を識別するには、その UUID を使用します。
Compose プロセスが完了したら、作成したイメージファイルをデフォルトのダウンロード先にダウンロードします。
# composer-cli compose image UUIDUUID は、前の手順で示した UUID 値に置き換えます。
作成してダウンロードした
qcow2イメージを使用して、仮想マシンを作成できます。
検証
ダウンロードした qcow2 イメージで、次の手順を実行します。
-
仮想マシンで
qcow2イメージを起動します。KVM ゲストイメージからの仮想マシンの作成 を参照してください。 qemuウィザードが開きます。qcow2イメージにログインします。-
ユーザー名とパスワードを入力します。
.qcow2ブループリントの "customizations.user" セクションで設定したユーザー名とパスワード、またはcloud-initを使用して起動時に作成したユーザー名とパスワードを使用できます。
-
ユーザー名とパスワードを入力します。
コンテナーイメージを実行し、コンテナー内でシェルプロンプトを開きます。
# podman run -it registry.access.redhat.com/ubi9:8080/osbuild/repository /bin/bash/registry.access.redhat.comはターゲットレジストリー、osbuildは組織、repositoryはビルドの完了時にコンテナーをプッシュする場所です。ブループリントに追加したパッケージが利用可能であることを確認します。
# type -a nginx出力には、
nginxパッケージのパスが表示されます。