コンテンツにスキップ

Registry

API

リポジトリ一覧(イメージ一覧)

curl https://registry.example.org/v2/_catalog

イメージのタグ一覧

リポジトリ一覧でヒットしたリポジトリ名をパスに含める

curl https://registry.example.org/v2/<repository-name>/tags/list

SaaS

GitHub Container Registry

手順は以下。
コンテナレジストリの利用 - GitHub Docs

認証に使用するパスワードは、個人用アクセストークンを作成する。
個人アクセストークンを使用する - GitHub Docs

Personal Access Tokens (Classic)で[Generate new token]押下、Select scopesのwrite:packagesにチェックして[Generate token]押下すればトークンが生成される。
GitHubのユーザー名と、入手したトークンをパスワードとして、

$ docker login ghcr.io

すれば認証できる。

あとはghcr.io/zaki-lknr/squid:5.0.4-alpine-3.13とかの名前のタグをつければpushもできる。
pushされたイメージは、GitHubのweb画面の「Packages」で確認できる。デフォルトはprivate設定。

ECR (Elastic Container Registry)

認証用パスワードは aws CLIを使用。
aws ecr get-login-password を実行するとレジストリ認証に使用するパスワードを取得できる。

$ aws ecr get-login-password --region ap-northeast-1
eyJwYXls ......

ログイン時のユーザー名は AWS 固定のため、レジストリログイン用のコマンドは以下の通り。

$ podman login <registry URL> -u AWS -p $(aws ecr get-login-password)

プライベートレジストリの認証 - Amazon ECR

ACR

ポータルからの場合は、レジストリメニューの「トークン」から、「追加」でトークンを作成する。スコープマップに権限を入力。
作成したトークンの「詳細」からパスワードを生成できる。
生成されるのはjdocker loginで指定するパスワード、およびDockerコマンド列全体(docker login -u ... -p ...)も得られる。(ユーザー名はトークン名になる)