2.3. イメージの検索

podman search コマンドを使用すると、イメージ用に選択したコンテナーレジストリーを検索できます。検索されたレジストリーは、registries.conf ファイルに一覧表示されているものから取得されます。

注記

Red Hat が管理するイメージを検索するもう 1 つのより直感的な方法は、Red Hat コンテナーレジストリー を検索することです。Red Hat Container Catalog に挙げられている各イメージには、イメージの説明と、そのコンテンツ、ヘルスインデックス、およびその他の関連情報が含まれています。

デフォルトでは、podman search は以下のレジストリーを検索します。

  • registry.redhat.io
  • registry.access.redhat.com
  • quay.io
  • docker.io

root ユーザーとして、/etc/containers/registries.conf ファイルを編集し、デフォルトのシステム全体の検索設定を変更できます。podman の一般 (root 以外の) ユーザーは、ホームディレクトリー ($HOME/.config/containers/registries.conf) に独自の registries.conf ファイルを作成して、システム全体の設定を上書きできます。

podman search コマンドの例を以下に示します。最初の例では、quay.io からアクセス可能なすべての画像を検索しようとしますが、失敗します。末尾のバックスラッシュは、レジストリー全体からアクセス可能なすべてのイメージを検索することを示しています。

# podman search quay.io/
ERRO[0000] error searching registry "quay.io": couldn't search registry "quay.io":
unable to retrieve auth token: invalid username/password

再試行してください。ただし、今回は最初にログインします。

# podman login quay.io
Username: johndoe
Password: ***********
Login Succeeded!
# podman search quay.io/
INDEX     NAME                                       DESCRIPTION   STARS   OFFICIAL   AUTOMATED
quay.io   quay.io/test/myquay                                      0
quay.io   quay.io/test/redistest                                   0
quay.io   quay.io/johndoe/websrv21                                 0
quay.io   quay.io/johndoe/mydbtest                                 0
quay.io   quay.io/johndoe/newbuild-10                              0

利用可能なすべてのレジストリーで postgresql を検索します (40 を超えるイメージが見つかります)。

# podman search postgresql-10
INDEX       NAME                                            DESCRIPTION                    STARS OFFICIAL AUTOMATED
redhat.io   registry.redhat.io/rhel8/postgresql-10          This container image ...       0
redhat.io   registry.redhat.io/rhscl/postgresql-10-rhel7    PostgreSQL is an advanced ...  0
quay.io     quay.io/mettle/postgresql-database-provisioning
docker.io   docker.io/centos/postgresql-10-centos7          PostgreSQL is an advanced ... 13
...

postgresql の検索を registry.redhat.io のイメージに制限するには、次のように入力します。レジストリーおよびイメージ名を入力して、レジストリーの任意のリポジトリーが一致している点に注意してください。

# podman search registry.redhat.io/postgresql-10
INDEX       NAME                                           DESCRIPTION           STARS   OFFICIAL   AUTOMATED
redhat.io   registry.redhat.io/rhel8/postgresql-10         This container image ...  0
redhat.io   registry.redhat.io/rhscl/postgresql-10-rhel7   PostgreSQL is an  ...     0

詳細な説明を取得するには、--no-trunc を追加します。

# podman search --no-trunc registry.redhat.io/rhel8/postgresql-10
INDEX       NAME   DESCRIPTION              STARS   OFFICIAL   AUTOMATED
redhat.io   registry.redhat.io/rhel8/postgresql-10
                   This container image provides a containerized
                   packaging of the PostgreSQL postgres daemon and
                   client application. The postgres server daemon
                   accepts connections from clients and provides
                   access to content from PostgreSQL databases on
                   behalf of the clients.   0

現在検索用に設定されていないレジストリーを使用するように検索を変更する場合は、/etc/containers/registries.conf ファイルの [registries.search] セクションを編集します。これを行う理由の 1 つは、docker.io または quay.io からのパブリックイメージではなく、Red Hat パートナーがサポートするイメージ (crunchy-postgres など) を見つけることです。これを行うには、次の内容を、

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

次のように変更します。

[registries.search]
registries = ['registry.connect.redhat.com']

次に、crunchy-postgres を検索します。

# podman search crunchy-postgres
INDEX      NAME
   DESCRIPTION                                       STARS  OFFICIAL  AUTOMATED
redhat.com registry.connect.redhat.com/crunchydata/crunchy-postgres
   The crunchy-postgres container executes the ...   0
redhat.com   registry.connect.redhat.com/crunchydata/crunchy-postgres-gis
   The crunchy-postgres-gis container executes ...   0

ランダムな Crunchy postgres データベースイメージから選択する代わりに、公式の Red Hat パートナーがサポートするイメージの一覧を表示できます。