Red Hat Training

A Red Hat training course is available for RHEL 8

10.3. コンテナーアーティファクトをコンテナーレジストリーに直接プッシュする

RHEL for Edge Container イメージなどのコンテナーアーティファクトは、RHEL Image Builder CLI を使用して、ビルド後にコンテナーレジストリーに直接プッシュできます。

前提条件

  • quay.io レジストリー へのアクセス。この例では、ターゲットレジストリーとして quay.io コンテナーレジストリーを使用していますが、任意のコンテナーレジストリーを使用できます。

手順

  1. コンテナープロバイダーを選択するために、registry-config.toml ファイルをセットアップします。認証情報はオプションです。

    provider = "container_provider"
    
    [settings]
    tls_verify = false
    username = "admin"
    password = "your_password"
  2. ブループリントを .toml 形式で作成します。これは、ブループリントに nginx パッケージをインストールするコンテナーのブループリントです。

    name = "simple-container"
    description = "Simple RHEL container"
    version = "0.0.1"
    
    [[packages]]
    name = "nginx"
    version = "*"
  3. ブループリントをプッシュします。

    # composer-cli blueprints push blueprint.toml
  4. レジストリーとリポジトリーを composer-cli ツールに引数として渡し、コンテナーイメージをビルドします。

    # composer-cli compose start simple-container container "quay.io:8080/osbuild/repository" registry-config.toml
    • simple-container - ブループリント名です。
    • コンテナー - イメージの種類です。
    • "quay.io:8080/osbuild/repository" - quay.io はターゲットレジストリー、osbuild は組織、repository はビルドが完了したときにコンテナーをプッシュする場所です。オプションで、tag を設定できます。:tag の値を設定しない場合、デフォルトで :latest タグが使用されます。

      注記

      コンテナーイメージのビルドには、カスタマイズされたパッケージの依存関係を解決するため時間がかかります。

  5. イメージのビルドが完了すると、作成したコンテナーが quay.io で使用できるようになります。

検証

  1. quay.io を開き、Repository Tags をクリックします。

     You can see details about the container you created, such as:
    - last modified
    - image size
    - the `manifest ID`, that you can copy to the clipboard.
  2. manifest ID の値をコピーして、コンテナーを埋め込むイメージをビルドします。

関連情報