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