Docker はコンテナ化プラットフォームですが、ネイティブのイメージホスティングは提供していません。 Docker イメージを Container Registry (ACR) Personal Edition インスタンスにプッシュすることで、基本的なコンテナイメージサービス、安全なイメージホスティングを利用し、他のユーザーがイメージをプルできるようにすることができます。
前提条件
-
Docker および Docker Compose がインストールされていること。
-
ソースコードホスティングプラットフォームがリンクされているか、イメージがローカルでビルドされていること。 詳細については、「お使いのコンピューターから Container Registry にマルチアーキテクチャイメージをビルドしてプッシュする」をご参照ください。
ステップ 1:レジストリユーザー名の取得
Container Registry コンソールにログインします。 Personal Edition インスタンスの管理ページで、 を選択してユーザー名を取得します。
-
Alibaba Cloud アカウントを使用している場合、アカウント名がレジストリユーザー名になります。
-
RAM ユーザーを使用している場合、レジストリユーザー名は RAM ユーザー名の
.onaliyun.comサフィックスより前の部分です。 たとえば、RAM ユーザーがXXX@10051309672****.onaliyun.comの場合、レジストリユーザー名はXXX@10051309672****です。
ステップ 2:レジストリログインパスワードの設定
パスワードのリセット
レジストリのログインパスワードを忘れた場合は、固定パスワードを設定することでリセットできます。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[Instances] をクリックします。
[Instances] ページで、管理する Personal Edition インスタンスをクリックします。
-
Personal Edition インスタンスの管理ページで、 を選択します。
-
アクセス資格情報 ページで、パスワードの設定 をクリックし、プロンプトに従ってパスワードをリセットします。
説明Container Registry Personal Edition は、GetAuthorizationToken API オペレーションを使用したインスタンスログイン用の一時的なユーザー名とパスワードの取得をサポートしていません。 固定パスワードを使用してログインすることを推奨します。
初回パスワード設定
初めて Container Registry コンソールにログインする場合は、イメージをプッシュおよびプルするためにレジストリログインパスワードを設定する必要があります。
Container Registry コンソールにログインします。
[Instances] ページで、管理する Personal Edition インスタンスをクリックします。
-
ヒント ダイアログボックスで、今すぐアクティブ化 をクリックし、次に Docker ログインパスワードのリセット をクリックします。
-
Docker ログインパスワードのリセット ダイアログボックスで、パスワード および パスワードの確認 フィールドにパスワードを入力し、OK をクリックします。
ステップ 3:名前空間の作成
名前空間を使用して、権限やプロパティを含むイメージリポジトリのコレクションを管理できます。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[Instances] をクリックします。
[Instances] ページで、管理する Personal Edition インスタンスをクリックします。
-
Personal Edition インスタンスの管理ページで、 を選択します。
-
名前空間 ページで、名前空間を作成 をクリックします。
-
名前空間を作成 ダイアログボックスで、名前空間名を入力し、OK をクリックします。
ステップ 4:イメージリポジトリの作成
Container Registry コンソールにログインします。
左側のナビゲーションウィンドウで、[Instances] をクリックします。
[Instances] ページで、管理する Personal Edition インスタンスをクリックします。
-
Personal Edition インスタンスの管理ページで、 を選択します。
-
リポジトリ ページで、リポジトリの作成 をクリックします。
-
リポジトリ情報 ステップで、名前空間、リポジトリ名、リポジトリのタイプ、サマリー、説明 を設定します。 次に、次へ をクリックします。
説明リポジトリ名は 2~64 文字である必要があります。 小文字、数字、アンダースコア (_)、ハイフン (-)、ピリオド (.) を使用できます。 名前はアンダースコアで開始または終了することはできず、スラッシュ (/) を含めることはできません。
-
コードソース ステップで、コードソース、ビルド設定、ビルドルール を設定します。 次に、リポジトリの作成 をクリックします。
パラメーター
説明
Code Source
コードソースを選択します。
重要コードソースを選択する前に、ソースコードプラットフォームをリンクしていることを確認してください。 詳細については、「ソースコードホスティングプラットフォームのリンク」をご参照ください。
Build Settings
-
コードの変更時にイメージを自動的にビルド:このオプションを選択すると、コードがブランチにコミットされたときに構築ルールが自動的にトリガーされます。
-
中国本土外のサーバーによるビルド:このオプションを選択すると、イメージは中国本土以外のデータセンターでビルドされ、ビルドが成功した後に指定されたリージョンにプッシュされます。
-
キャッシュなしでビルド:このオプションを選択すると、ベースの依存関係イメージがビルドごとに強制的に再プルされ、ビルド時間が増加します。
Build Rules Setting
リポジトリを作成した後、ビルドページに移動して構築ルールを設定します。 詳細については、「リポジトリとイメージのビルド」をご参照ください。
-
ステップ 5:イメージのプッシュとプル
2024 年 9 月 9 日から、新しい Personal Edition インスタンスのレジストリエンドポイントのフォーマットが変更されます。 詳細については、「新しい Personal Edition インスタンスの利用上の注意」をご参照ください。 ご利用のインスタンスのバージョンに基づいて、イメージをプッシュおよびプルする方法を選択してください。
キャリアネットワークの問題により、イメージアクセラレータ機能を使用して海外のレジストリからイメージをプルすると失敗する場合があります。 詳細については、「[製品変更] ACR イメージアクセラレータ機能の調整に関するお知らせ」をご参照ください。
新しい Personal Edition インスタンス
-
Container Registry コンソールにログインします。 Personal Edition インスタンスの管理ページで、 を選択してログインコマンドを取得します。
次のコマンドを実行して、イメージリポジトリにログインします。
docker login --username=<registry-username> crpi-xxxx.cn-<region-of-your-instance>.personal.cr.aliyuncs.comプロンプトが表示されたら、「ステップ 2:レジストリログインパスワードの設定」で設定したパスワードを入力します。
login succeededメッセージが表示されると、ログインは成功です。 -
イメージをプッシュします。
-
次のコマンドを実行して、イメージにタグを付けます。
docker tag <image-ID> crpi-xxxx.cn-<region-of-your-instance>.personal.cr.aliyuncs.com/<namespace-name>/<image-repository-name>:<tag> -
次のコマンドを実行して、イメージを Personal Edition インスタンスにプッシュします。
docker push crpi-xxxx.cn-<region-of-your-instance>.personal.cr.aliyuncs.com/<namespace-name>/<image-repository-name>:<tag>リポジトリ ページで、ターゲットリポジトリの名前をクリックし、イメージのバージョン を選択します。 イメージのバージョン ページにプッシュされたイメージが表示されていれば、プッシュは成功です。
-
-
次のコマンドを実行して、イメージをプルします。
docker pull crpi-xxxx.cn-<region-of-your-instance>.personal.cr.aliyuncs.com/<namespace-name>/<image-repository-name>:<tag>docker imagesコマンドを実行します。 プルしたイメージがコマンド出力に表示されていれば、プルは成功です。
古い Personal Edition インスタンス
-
次のコマンドを実行して、イメージリポジトリにログインします。 ログインコマンドを取得するには、Container Registry コンソールにログインし、Personal Edition インスタンスの管理ページで を選択します。
docker login --username=<registry-username> registry.cn-<region-of-your-instance>.aliyuncs.comプロンプトが表示されたら、「ステップ 2:レジストリログインパスワードの設定」で設定したパスワードを入力します。
login succeededメッセージが表示されると、ログインは成功です。 -
イメージをプッシュします。
-
次のコマンドを実行して、イメージにタグを付けます。
docker tag <image-ID> registry.cn-<region-of-your-instance>.aliyuncs.com/<namespace-name>/<image-repository-name>:<tag> -
次のコマンドを実行して、イメージを Personal Edition インスタンスにプッシュします。
docker push registry.cn-<region-of-your-instance>.aliyuncs.com/<namespace-name>/<image-repository-name>:<tag>リポジトリ ページで、ターゲットリポジトリの名前をクリックし、イメージのバージョン を選択します。 イメージのバージョン ページにプッシュされたイメージが表示されていれば、プッシュは成功です。
-
-
次のコマンドを実行して、イメージをプルします。
docker pull registry.cn-<region-of-your-instance>.aliyuncs.com/<namespace-name>/<image-repository-name>:<tag>docker imagesコマンドを実行します。 プルしたイメージがコマンド出力に表示されていれば、プルは成功です。
関連操作
イメージタグの一括削除
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[Instances] をクリックします。
[Instances] ページで、管理する Personal Edition インスタンスをクリックします。
-
Personal Edition インスタンスの管理ページで、 を選択し、ターゲットリポジトリの名前をクリックします。
-
リポジトリ詳細ページの左側のナビゲーションウィンドウで、イメージのバージョン をクリックします。
-
イメージのバージョン ページで、タグ の左側にある
アイコンを選択し、一括削除 をクリックします。 -
確認ダイアログボックスで、このタグを削除することに同意 を選択し、OK をクリックします。