Red Hat Training
A Red Hat training course is available for RHEL 8
10.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 status
Compose が完了すると、ステータスが FINISHED になります。リスト内の Compose を識別するには、その UUID を使用します。
Compose プロセスが完了したら、作成したイメージファイルをデフォルトのダウンロード先にダウンロードします。
# composer-cli compose image UUID
UUID は、前の手順で示した UUID 値に置き換えます。
作成してダウンロードした
qcow2
イメージを使用して、仮想マシンを作成できます。
検証
ダウンロードした qcow2
イメージで、次の手順を実行します。
-
仮想マシンで
qcow2
イメージを起動します。KVM ゲストイメージからの仮想マシンの作成 を参照してください。 qemu
ウィザードが開きます。qcow2
イメージにログインします。-
ユーザー名とパスワードを入力します。これらは、customizations.user セクションの
.qcow2
ブループリントで設定するか、起動時にcloud-init
で作成したユーザー名とパスワードにすることができます。
-
ユーザー名とパスワードを入力します。これらは、customizations.user セクションの
コンテナーイメージを実行し、コンテナー内でシェルプロンプトを開きます。
# podman run -it registry.access.redhat.com/ubi9:8080/osbuild/repository /bin/bash/
registry.access.redhat.com
はターゲットレジストリー、osbuild
は組織、repository
はビルドの完了時にコンテナーをプッシュする場所です。ブループリントに追加したパッケージが利用可能であることを確認します。
# type -a nginx
出力には、
nginx
パッケージのパスが表示されます。