Red Hat Training

A Red Hat training course is available for RHEL 8

第3章 コンテナーイメージの使用

ここでは、コンテナーイメージの使用方法について説明します。また、イメージをプル、検査、タグ、保存、ロード、再配布を行い、イメージ署名の定義方法も説明します。

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

podman search コマンドを使用すると、イメージ用に選択したコンテナーレジストリーを検索できます。また、Red Hat コンテナーレジストリー でイメージを検索することもできます。Red Hat コンテナーレジストリーには、イメージの説明、コンテンツ、ヘルスインデックスなど情報が含まれます。

registries.conf の設定ファイルで、レジストリーの一覧を確認できます。root ユーザーとして、/etc/containers/registries.conf ファイルを編集し、デフォルトのシステム全体の検索設定を変更します。

ユーザーとして $HOME/.config/containers/registries.conf ファイルを作成し、システム全体の設定を上書きします。

[registries.search]
registries = ['registry.access.redhat.com', 'registry.redhat.io', 'docker.io']

[registries.insecure]
registries = []

[registries.block]
registries = []
  • デフォルトでは、podman search コマンドは、指定の順序で [registries.search] セクションに記載されているレジストリーからコンテナーイメージを検索します。このような場合には、コマンドは要求されたイメージを registry.access.redhat.comregistry.redhat.io、および docker.io の順に検索します。
  • [registries.insecure] セクションは、レジストリーとの通信に TLS 暗号化を使用しないレジストリーを定義します (この設定はセキュアではありません)。
  • [registries.block] セクションは、ローカルシステムがアクセスできないレジストリーを定義します。

コンテナーレジストリーの設定時に、以下の条件を満たしていることを確認します。

  • 各レジストリーは一重引用符で囲む必要があります。
  • registries = key に複数のレジストリーが設定されている場合は、それらのレジストリーをコンマで区切る必要があります。
  • IP アドレスまたはホスト名のいずれかでレジストリーを識別できます。
  • レジストリーが標準以外のポート (暗号化されている接続用の TCP ポート 443 および暗号化されていない接続用の TCP ポート 80 以外の)を使用する場合は、ポート番号をレジストリー名とともに入力します。たとえば、host.example.com:9999 などと指定します。
  • システムは、registries.search 一覧に表示される順序でレジストリーを検索します。

セキュアではないレジストリーにアクセスするには、レジストリーの完全修飾名 (FQDN) を /etc/containers/registries.conf ファイルの [registries.insecure] セクションに追加します。以下に例を示します。

[registries.insecure]
registries = ['insecure-registry.example.com']