Container Registry Enterprise Edition (ACR EE) インスタンスを使用して、コンテナイメージのプッシュ、プル、管理、保存を行い、さまざまな環境で簡単にデプロイできます。これにより、開発効率が向上し、イメージの一貫性と信頼性が確保されます。
前提条件
-
Alibaba Cloud アカウントをお持ちであること。 詳細については、「Alibaba Cloud アカウントへのサインアップ」をご参照ください。
-
Docker Engine がインストール済みであること。 詳細については、「Docker Engine と Docker Compose のインストールと使用」をご参照ください。
-
ACR EE の依存関係である Object Storage Service (OSS) が有効化済みであること。 詳細については、「OSS の有効化」をご参照ください。
ステップ 1:Enterprise Edition インスタンスの作成
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
-
インスタンス ページで、インスタンスの作成 をクリックします。
-
インスタンスの作成 ページで、基本情報を設定し、今すぐ購入する をクリックします。
パラメーター
説明
リージョン
インスタンスのデプロイリージョンを選択します。
仕様
インスタンスタイプを選択します。 詳細については、「Alibaba Cloud Container Registry (ACR) とは」をご参照ください。
名前
インスタンスの名前を入力します。
Instance Storage
有効な値: デフォルトおよびカスタマイズ。
-
デフォルト:アカウントに OSS バケットが自動的に作成され、コンテナイメージが保存されます。
-
カスタマイズ:既存の OSS バケットを選択してコンテナイメージを保存できます。
バケット選択
既存の OSS バケットを選択してコンテナイメージを保存します。
説明このパラメーターは、Instance Storage を カスタマイズ に設定する場合にのみ必要です。
セキュリティスキャン
イメージのセキュリティスキャン機能を提供します。 次のスキャンエンジンから 1 つ選択できます:
-
Trivy スキャンエンジン:システムとアプリケーションの脆弱性を検出するオープンソースのスキャンエンジンですが、システムの脆弱性に対するワンクリック修復はサポートしていません。
-
セキュリティスキャンエンジン:Alibaba Cloud が開発したスキャンエンジンです。 システムの脆弱性、アプリケーションの脆弱性、ベースラインリスク、悪意のあるサンプルを検出します。 また、システムの脆弱性に対するワンクリック修復もサポートしています。
[リポジトリクォータ]
デフォルトのクォータは、Basic エディションで 1,000、Standard エディションで 3,000、Advanced エディションで 5,000 です。 ビジネスニーズに応じてクォータを増やすことができます。
[名前空間クォータ]
デフォルトのクォータは、Basic エディションで 15、Standard エディションで 25、Advanced エディションで 50 です。 ビジネスニーズに応じてクォータを増やすことができます。
[VPC アクセス制御クォータ]
サービスが Virtual Private Cloud (VPC) 経由でイメージをプルする必要がある場合は、VPC アクセス制御のクォータを購入する必要があります。 詳細については、「課金」をご参照ください。
サブスクリプション期間
1、2、3、6 か月、または 1 年から 5 年まで選択できます。
説明サブスクリプションの自動更新を有効にすることもできます。
リソースグループ
既存のリソースグループを選択します。 [リソースグループの作成] をクリックし、表示されるダイアログボックスで [リソースグループ ID] と Resource Group Name を入力し、OK をクリックすることもできます。
-
-
ご注文の確認 ページで、パラメーター を確認し、[利用規約とサービスレベル契約 (SLA)] を確認してから、支払い をクリックします。
-
支払う ページで、ページ下部にあるインスタンスの総コストを確認します。 金額が正しい場合は、プロンプトに従って支払いを完了します。
インスタンス ページで、新しいインスタンスのステータスは 起動中 です。 約 2〜3 分後、ステータスは 実行中 に変わります。
ステップ 2:リポジトリのユーザー名の取得
-
Alibaba Cloud アカウントを使用する場合、アカウント名がイメージリポジトリのユーザー名になります。
-
RAM ユーザーを使用する場合、ユーザー名は UPN の .onaliyun.com より前の部分です。 たとえば、RAM ユーザーの UPN が 123@123456781011****.onaliyun.com の場合、ユーザー名は 123@123456781011**** です。
ステップ 3:リポジトリのパスワードの設定
固定認証情報でイメージをプッシュおよびプルするには、アクセス認証情報を設定します。 詳細については、「アクセス認証情報の設定」をご参照ください。
ステップ 4:名前空間の作成
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
-
インスタンス ページで、対象の Enterprise Edition インスタンスをクリックします。
-
インスタンス詳細ページの左側のナビゲーションウィンドウで、 を選択します。
-
名前空間 ページで、名前空間を作成 をクリックします。
-
名前空間を作成 サイドバーで、名前空間 名、リポジトリの自動作成 を オン または 閉じる に設定し、OK をクリックします。
オン リポジトリの自動作成 を選択した場合は、以下の手順に従います:
UI 要素
説明
リポジトリのタイプ
-
パブリック:デフォルトでは、ユーザーがパブリックイメージをプルするには、Enterprise Edition インスタンスにログインする必要があります。匿名でのプルを許可するには、インスタンスの匿名アクセスを有効にする必要があります。
データセキュリティを確保するために、リポジトリタイプを非公開に設定することを推奨します。
-
プライベート:プライベートイメージをプルするには、ユーザーは Enterprise Edition インスタンスにログインし、必要なプル権限を持っている必要があります。
イメージバージョンは変更されません
柔軟:このオプションを選択すると、このリポジトリ内の
latest以外のイメージタグは上書きできなくなり、コンテナイメージタグの一貫性が確保されます。高速化イメージ
機能が閉じるであるかどうかを指定します。チェックボックスを選択すると、
_acceleratedサフィックスが付いた高速化イメージタグがリポジトリに自動的に生成されます。 -
ステップ 5:イメージリポジトリの作成
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
-
インスタンス ページで、対象の Enterprise Edition インスタンスをクリックします。
-
インスタンス詳細ページの左側のナビゲーションウィンドウで、 を選択します。
-
リポジトリ ページで、リポジトリの作成 をクリックします。
-
リポジトリ情報 ウィザードで、名前空間、リポジトリ名、リポジトリのタイプ、イメージのバージョン、高速化イメージ、サマリー、説明 を設定します。 次に、次へ をクリックします。
-
コードソース ウィザードで、コードソース、ビルド設定、ビルドルール を設定します。 次に、リポジトリの作成 をクリックします。
パラメーター
説明
コードソース
コードソースを選択します。
ビルド設定
-
コード変更時のイメージの自動ビルド:コードがコミットされたときに自動的にビルドをトリガーします。
-
中国本土以外にデプロイされたサーバーでビルド:中国本土以外のデータセンターでイメージをビルドし、指定したリージョンにプッシュします。
-
キャッシュなしでビルド:すべてのビルドでベースイメージを強制的に新規プルします。 これにより、ビルド時間が増加する可能性があります。
ビルドルール
リポジトリを作成した後、ビルドページに移動してビルド規則を設定します。 詳細については、「リポジトリとイメージのビルド」をご参照ください。
-
ステップ 6:アクセス制御の設定
-
Docker クライアントが Virtual Private Cloud (VPC) 内にある場合は、クライアントが接続できるように、Enterprise Edition インスタンスの VPC アクセス制御を設定する必要があります。 詳細については、「VPC アクセス制御リストの設定」をご参照ください。
-
Docker クライアントがインターネット経由で接続する場合は、Enterprise Edition インスタンスのインターネットアクセス制御を設定する必要があります。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。
-
インスタンス詳細ページの左側のナビゲーションウィンドウで、 を選択します。
-
アクセス制御 ページで、インターネット タブをクリックし、アクセスポータル スイッチをオンにしてから、インターネットホワイトリストの追加 をクリックします。
-
インターネットホワイトリストの追加 ダイアログボックスで、Docker クライアントのホストの CIDR ブロックと説明を入力し、OK をクリックします。
エントリが追加されると、指定された CIDR ブロックからの Docker クライアントが Enterprise Edition インスタンスにアクセスできるようになります。
重要インターネット上のすべての Docker クライアントにインスタンスへのアクセスを許可する場合は、インターネットアクセスを有効にし、インターネットホワイトリストからすべてのエントリを削除する必要があります。 注意:インスタンスをパブリックインターネットに公開すると、セキュリティリスクが生じます。 慎重に進めてください。
ステップ 7:イメージのプッシュとプル
Docker クライアントから次のコマンドを実行します。 Docker Engine がインストールされ、設定されていることを確認してください。
-
イメージリポジトリにログインします:
説明パブリックイメージリポジトリへのプッシュまたはプルを行う場合は、Container Registry コンソールの 概要 ページで 匿名プルを許可 を有効にできます。 これにより、ログインせずに匿名でイメージをプルできます。
docker login --username=<username> <instance_name>-registry.<region>.cr.aliyuncs.com例:
docker login --username=123@1234567810111213 m**-registry.cn-hangzhou.cr.aliyuncs.comプロンプトが表示されたら、「ステップ 3:リポジトリのパスワードの設定」で設定したパスワードを入力します。
login succeededメッセージは、ログインが成功したことを示します。 -
イメージをプッシュします。
-
イメージにタグを付けます:
docker tag <image_id> <instance_name>-registry.<region>.cr.aliyuncs.com/<namespace>/<repository_name>:<image_tag>例:
docker tag Digest m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest -
イメージをプッシュします:
docker push <instance_name>-registry.<region>.cr.aliyuncs.com/<namespace>/<repository_name>:<image_tag>例:
docker push m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latestリポジトリ ページで、対象のリポジトリ名をクリックし、イメージのバージョン を選択します。 プッシュされたイメージが イメージのバージョン ページに表示されていることを確認します。
-
-
イメージをプルします:
docker pull <instance_name>-registry.<region>.cr.aliyuncs.com/<namespace>/<repository_name>:<image_tag>例:
docker pull m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latestdocker imagesを実行します。 プルしたイメージが出力に表示されていれば、イメージのプルは成功です。