Red Hat Training

A Red Hat training course is available for RHEL 8

第3章 コンテナーレジストリーの使用

コンテナーイメージレジストリーは、コンテナーイメージとコンテナーベースのアプリケーションアーティファクトを保存するためのリポジトリーまたはリポジトリーのコレクションです。/etc/containers/registries.conf ファイルは、Podman、Buildah、Skopeo などのさまざまなコンテナーツールで使用できるコンテナーイメージレジストリーを含むシステム全体の設定ファイルです。

コンテナーツールに指定されたコンテナーイメージが完全修飾されていない場合に、コンテナーツールは registries.conf ファイルを参照します。registries.conf ファイル内で短縮名のエイリアスを指定すると、完全修飾されていないイメージの取得元を管理者が完全に制御できるようになります。たとえば、podman pull example.com/example_image コマンドは、registries.conf ファイル で指定されているように、example.com レジストリーからローカルシステムにコンテナーイメージをプルします。

3.1. コンテナーレジストリー

コンテナーレジストリーは、コンテナーイメージとコンテナーベースのアプリケーションアーティファクトを保存するためのリポジトリーまたはリポジトリーのコレクションです。Red Hat が提供するレジストリーは以下のとおりです。

  • registry.redhat.io (認証が必要)
  • registry.access.redhat.com (認証なし)
  • registry.connect.redhat.com (Red Hat Partner Connect プログラムイメージ)

リモートレジストリー (Red Hat の独自のコンテナーレジストリーなど) からコンテナーイメージを取得して、ローカルシステムに追加するには、podman pull コマンドを使用します。

# podman pull <registry>[:<port>]/[<namespace>/]<name>:<tag>

ここで、<registry>[:<port>]/[<namespace>/]<name>:<tag> はコンテナーイメージの名前です。

たとえば、registry.redhat.io/ubi8/ubi コンテナーイメージは以下によって識別されます。

  • レジストリーサーバー (registry.redhat.io)
  • namespace (ubi8)
  • イメージ名 (ubi)

同じイメージにバージョンが複数ある場合は、イメージ名を明示的に指定するタグを追加します。デフォルトでは、Podman は :latest タグを使用します (例: ubi8/ubi:latest)。

一部のレジストリーでは、<namespace> も使用して、異なるユーザーまたは組織によって所有される同じ <name> のイメージを区別します。以下に例を示します。

名前空間(<namespace>/<name>) の例

organization

redhat/kubernetesgoogle/kubernetes

login (ユーザー名)

alice/applicationbob/application

role

devel/databasetest/databaseprod/database

registry.redhat.io への移行の詳細は、Red Hat Container Registry Authentication を参照してください。registry.redhat.io からコンテナーを取得する前に、RHEL サブスクリプション認証情報を使用して認証する必要があります。