Red Hat Training

A Red Hat training course is available for RHEL 8

10.4. イメージのビルドとコンテナーのイメージへのプル

コンテナーイメージを作成したら、カスタマイズしたイメージをビルドし、コンテナーイメージをそこにプルできます。そのためには、ブループリントで コンテナーのカスタマイズ を指定し、最終的なイメージの コンテナー名 を指定する必要があります。ビルドプロセス中に、コンテナーイメージが取得され、ローカルの Podman コンテナーストレージに配置されます。

前提条件

手順

  1. 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
  2. ブループリントをプッシュします。

    # composer-cli blueprints push blueprint-image.toml
  3. コンテナーイメージをビルドします。

    # composer-cli start compose image qcow2
    • image はブループリントの名前です。
    • qcow2 はイメージタイプです。

      注記

      quay.io レジストリーでコンテナーをチェックするため、イメージのビルドに時間がかかります。

  4. Compose のステータスを確認するには、以下のコマンドを実行します。

    # composer-cli compose status

    Compose が完了すると、ステータスが FINISHED になります。リスト内の Compose を識別するには、その UUID を使用します。

  5. Compose プロセスが完了したら、作成したイメージファイルをデフォルトのダウンロード先にダウンロードします。

    # composer-cli compose image UUID

    UUID は、前の手順で示した UUID 値に置き換えます。

    作成してダウンロードした qcow2 イメージを使用して、仮想マシンを作成できます。

検証

ダウンロードした qcow2 イメージで、次の手順を実行します。

  1. 仮想マシンで qcow2 イメージを起動します。KVM ゲストイメージからの仮想マシンの作成 を参照してください。
  2. qemu ウィザードが開きます。qcow2 イメージにログインします。

    1. ユーザー名とパスワードを入力します。これらは、customizations.user セクションの .qcow2 ブループリントで設定するか、起動時に cloud-init で作成したユーザー名とパスワードにすることができます。
  3. コンテナーイメージを実行し、コンテナー内でシェルプロンプトを開きます。

    # podman run -it registry.access.redhat.com/ubi9:8080/osbuild/repository /bin/bash/

    registry.access.redhat.com はターゲットレジストリー、osbuild は組織、repository はビルドの完了時にコンテナーをプッシュする場所です。

  4. ブループリントに追加したパッケージが利用可能であることを確認します。

    # type -a nginx

    出力には、nginx パッケージのパスが表示されます。