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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn