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

podman を使用して、コンテナーイメージを実行、起動、停止、調査、および削除できます。

2.1. レジストリーからのイメージの取得 (プル)

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

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

<registry> は、TCP の <port> で、コンテナーレジストリーサービスを提供するホストです。<namespace> および <name> はともに、レジストリーで <namespace> で制御される特定のイメージを識別します。一部のレジストリーは、生の <name> をサポートします。ここでは、<namespace> は任意です。ただし、それが含まれている場合は、追加の階層レベル <namespace> Provides が、同じ <name> を持つ複数のイメージを区別するため便利です。以下に例を示します。

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

organization

redhat/kubernetesgoogle/kubernetes

login (ユーザー名)

alice/applicationbob/application

role

devel/databasetest/databaseprod/database

Red Hat が提供するレジストリーは、registry.redhat.io (認証が必要)、registry.access.redhat.com (認証なし)、および registry.connect.redhat.com (Red Hat Partner Connect プログラムイメージを含む) です。registry.redhat.io への移行の詳細は、「Red Hat Container Registry Authentication」 を参照してください。registry.redhat.io からコンテナーを取得する前に、認証する必要があります。以下に例を示します。

# podman login registry.redhat.io
Username: myusername
Password: ************
Login Succeeded!

pull オプションを使用して、リモートレジストリーからイメージを取得します。rhel ベースイメージおよび rsyslog ロギングイメージを Red Hat レジストリーから取得するには、以下を入力します。

# podman pull registry.redhat.io/ubi8/ubi
# podman pull registry.redhat.io/rhel8/rsyslog

イメージは、レジストリー名 (registry.redhat.io)、名前空間名 (ubi8)、およびイメージ名 (ubi) で識別されます。タグを追加することもできます (タグを入力しないと、デフォルトの :latest に設定されます)。リポジトリー名 ubi は、その前にレジストリーの名前を付けずに podman pull コマンドに渡すとあいまいになり、信頼できないレジストリーから生成されたイメージを取得する可能性があります。同じイメージのバージョンが複数ある場合は、latest などのタグを追加して、名前を ubi8/ubi:latest のようにして、より明示的にイメージを選択します。

上記の podman pull コマンドの出力でイメージと、お使いのシステムにあるその他のイメージを一緒に表示するには、podman images と入力します。

REPOSITORY                        TAG    IMAGE ID      CREATED     SIZE
registry.redhat.io/ubi8/ubi       latest eb205f07ce7d  2 weeks ago 214MB
registry.redhat.io/rhel8/rsyslog  latest 85cfba5cd49c  2 weeks ago 234MB

ubi イメージおよび rsyslog イメージは、ローカルシステムで利用できるようになりました。