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