Docker Registry V2 のすべてのイメージを一覧表示する

Marion Paul Kenneth Mendoza 2023年6月20日
  1. Docker Registry V2 でイメージの完全なリストを取得する
  2. すべてのリポジトリとイメージを一覧表示する
  3. リポジトリのすべてのタグを一覧表示する
  4. 認証情報を使用して API をクエリする
Docker Registry V2 のすべてのイメージを一覧表示する

数回前に、Docker Registry はバージョン 1 からバージョン 2 にアップグレードされました。特に新しいコマンドは、公式ドキュメント Web サイトに含めるか、適切に文書化する必要があります。

1つの例は、Docker レジストリー内のイメージのリストを取得することです。

この記事では、Docker Registry V2 でイメージのリストを取得する方法について説明します。

Docker Registry V2 でイメージの完全なリストを取得する

開始する前に、以下のコマンドを実行して、DockerHub で Docker Registry の最新バージョンをプルします。

docker pull distribution/registry:master

Docker Registry バージョン 1 では、http://myregistry:5000/v1/search? のベース URL に対して API GET 呼び出しを実行することで、すべてのイメージのリストを取得できます。 ドキュメントでは暗示されていませんが、更新された別のベース URL に対して GET リクエストを呼び出すことで、同様のアプローチを実行することもできます。

すべてのリポジトリとイメージを一覧表示する

Docker が Docker レジストリをバージョン 2 に更新したとき、すべての API ベース URL も更新しました。 したがって、v1 ベース URL を呼び出す代わりに、以下の URL を使用できます。

curl -X GET https://myregistry:5000/v2/_catalog

デフォルトの結果には 100 個の画像レコードのみが表示されますが、さらに表示する必要がある場合は、クエリ パラメーターを追加して結果を改ページできます。

curl -X GET https://myregistry:5000/v2/_catalog?n=<count>

リポジトリのすべてのタグを一覧表示する

リポジトリのすべてのタグを一覧表示する必要がある場合は、以下の別のエンドポイントを使用できます。

curl -X GET https://myregistry:5000/v2/<name>/tags/list

name 値を、タグをクエリするリポジトリの名前に置き換えることができます。

認証情報を使用して API をクエリする

レジストリで認証が必要な場合は、-u フラグを追加して、curl コマンドで資格情報を指定する必要があります。

curl -X GET -u <username>:<password> https://myregistry:5000/v2/_catalog
curl -X GET -u <username>:<password> https://myregistry:5000/v2/<name>/tags/list

レジストリがクレデンシャルの代わりに自己署名証明書を使用している場合、-k フラグと --insecure フラグを追加することで、安全でないリクエストを行うことができます。 ただし、これはセキュリティ リスクと見なされるため、自己責任で使用してください。

Docker Registry v2 API は、より多くのリクエストに対応するより多くのエンドポイントを提供します。 この リンク で完全なエンドポイントを見つけることができます。

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn