Container Registry Enterprise Edition インスタンスを使用して、イメージをプッシュおよびプルできます。その後、さまざまな環境でイメージをより適切に管理および使用できます。これにより、開発とデプロイの効率が向上し、コンテナイメージの一貫性と信頼性が確保されます。
前提条件
Alibaba Cloud アカウントが作成されていること。詳細については、「Alibaba Cloud アカウントの登録とログイン」をご参照ください。
Docker Engine が環境にインストールされていること。詳細については、「CentOS に Docker Engine をインストールする」をご参照ください。
Container Registry Enterprise Edition のイメージを保存するために Object Storage Service (OSS) がアクティブ化されていること。詳細については、「OSS をアクティブにする」をご参照ください。
ステップ 1:Container Registry Enterprise Edition インスタンスを作成する
[Container Registry コンソール] にログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、[ACR EE の作成] をクリックします。
[Container Registry Enterprise Edition] ページで、パラメータを構成し、[今すぐ購入] をクリックします。次の表でパラメータについて説明します。
パラメータ
説明
リージョン
Container Registry Enterprise Edition インスタンスが存在するリージョン。
インスタンスタイプ
インスタンスのエディション。詳細については、「Container Registry とは」をご参照ください。
インスタンス名
インスタンスの名前。
インスタンスストレージ
有効な値: [デフォルト] および [カスタム]。
[デフォルト]:デフォルトでは、コンテナイメージを保存するためにアカウントに OSS バケットが作成されます。
[カスタム]:コンテナイメージを保存するために既存の OSS バケットを選択できます。
バケットの選択
コンテナイメージを保存するために既存の OSS バケットを選択します。
説明このパラメータは、[インスタンスストレージ] パラメータを [カスタム] に設定した場合にのみ表示されます。
セキュリティスキャン
Container Registry Enterprise Edition は、イメージセキュリティスキャン機能を提供します。次のセキュリティスキャンエンジンをサポートしています。
[Trivy スキャンエンジン]:システムの脆弱性とアプリケーションの脆弱性を検出できるオープンソースのスキャンエンジン。Trivy スキャンエンジンは、数回クリックするだけでシステムの脆弱性を修正するわけではありません。
[Security Center スキャンエンジン]:Alibaba Cloud によって開発されたスキャンエンジン。このエンジンは、システムとアプリケーションの脆弱性、ベースラインリスク、悪意のあるサンプルを検出できます。Security Center スキャンエンジンを使用すると、数回クリックするだけでシステムの脆弱性を修正できます。
リポジトリクォータ
デフォルトでは、Basic Edition は 1,000 のリポジトリクォータを提供し、Advanced Edition は 5,000 のリポジトリクォータを提供します。ビジネス要件に基づいてクォータの増加を申請できます。
名前空間クォータ
デフォルトでは、Basic Edition は 15 の名前空間クォータを提供し、Advanced Edition は 50 の名前空間クォータを提供します。ビジネス要件に基づいてクォータの増加を申請できます。
VPC のアクセス制御リストクォータ
サービスが VPC 経由で Container Registry Enterprise Edition インスタンスからイメージをプルする必要がある場合は、Enterprise Edition インスタンスの VPC アクセス制御リスト (ACL) クォータを購入する必要があります。詳細については、「請求ルール」をご参照ください。
期間
1 か月、2 か月、3 か月、または 6 か月を選択できます。より長い期間が必要な場合は、1 年、2 年、3 年、4 年、または 5 年を選択できます。
説明要件に基づいて自動更新を有効にできます。
リソースグループ
既存のリソースグループを選択します。[リソースグループの作成] をクリックし、[リソースグループ ID] と [リソースグループ名] を入力して、[OK] をクリックすることもできます。
[注文の確認] ページで、[構成] を確認し、Alibaba Cloud 国際ウェブサイト製品サービス規約と関連するサービスレベル契約を読み、理解してから、[支払] をクリックします。
[購入] ページの右下隅で、インスタンスの合計料金を表示します。注文情報を確認し、画面の指示に従って支払いを完了します。
[インスタンス] ページで、新しいインスタンスのステータスは [開始中] です。2 ~ 3 分後にステータスが [実行中] に変わります。
ステップ 2:イメージリポジトリにログインするために使用するユーザー名を取得する
Alibaba Cloud アカウントを使用する場合、Alibaba Cloud アカウントの名前がイメージリポジトリにログインするために使用するユーザー名です。
RAM ユーザーを使用する場合、.onaliyun.com の前の文字列がイメージリポジトリにログインするために使用するユーザー名です。たとえば、RAM ユーザーの名前が 123@123456781011****.onaliyun.com の場合、123@123456781011**** が Container Registry Personal Edition インスタンスにログインするために使用されるユーザー名です。
ステップ 3:イメージリポジトリにログインするために使用するパスワードを設定する
固定認証情報を使用してイメージをプッシュおよびプルする場合は、アクセス認証情報を構成できます。詳細については、「Container Registry Enterprise Edition インスタンスのアクセス認証情報を構成する」をご参照ください。
ステップ 4:名前空間を作成する
[Container Registry コンソール] にログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、名前空間を作成する Container Registry Enterprise Edition インスタンスをクリックします。
Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、 を選択します。
[名前空間] ページで、[名前空間の作成] をクリックします。
[名前空間の作成] ダイアログボックスで、[名前空間]、[リポジトリの自動作成]、[デフォルトのリポジトリタイプ] パラメータを構成します。[確認] をクリックします。
ステップ 5:イメージリポジトリを作成する
[Container Registry コンソール] にログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、イメージリポジトリを作成する Container Registry Enterprise Edition インスタンスをクリックします。
Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、 を選択します。
[リポジトリ] ページで、[リポジトリの作成] をクリックします。
[リポジトリ情報] ステップで、[名前空間]、[リポジトリ名]、[リポジトリタイプ]、[タグ]、[高速イメージ]、[概要]、[説明] パラメータを構成します。次に、[次へ] をクリックします。
[コードソース] ステップで、[コードソース]、[ビルド設定]、[ビルドルール] パラメータを構成し、[リポジトリの作成] をクリックします。次の表で主要なパラメータについて説明します。
パラメータ
説明
コードソース
コードソース。
ビルド設定
コード変更時にイメージを自動的にビルドする:ブランチからコードがコミットされると、イメージが自動的にビルドされます。
中国本土以外にデプロイされたサーバーでビルドする:イメージは中国本土以外のサーバーでビルドされ、指定されたリージョンのリポジトリにプッシュされます。
キャッシュなしでビルドする:システムは、イメージをビルドするたびにベースイメージをプルします。これにより、ビルド時間が長くなります。
ビルドルール
イメージリポジトリを作成した後、イメージビルドページに移動してイメージビルドルールを作成します。詳細については、「リポジトリを作成してイメージをビルドする」をご参照ください。
ステップ 6:ACL を構成する
Docker クライアントが VPC にデプロイされている場合は、クライアントがインスタンスに接続できるように、Enterprise Edition インスタンスの VPC アクセス制御リスト (ACL) を構成する必要があります。詳細については、「VPC ACL を構成する」をご参照ください。
Docker クライアントがインターネットを使用している場合は、クライアントがインスタンスに接続できるように、Enterprise Edition インスタンスのインターネット ACL を構成する必要があります。この例では、インターネットアクセスが有効になっています。
[Container Registry コンソール] にログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。
Container Registry Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、 を選択します。
[アクセス制御] ページで、[インターネット] タブをクリックし、[インターネット経由のアクセスを有効にする] をオンにして、[インターネットホワイトリストの追加] をクリックします。
[インターネットホワイトリストの追加] ダイアログボックスで、Docker クライアントのホストの CIDR ブロックと説明を入力し、[確認] をクリックします。
CIDR ブロックが追加されると、IP アドレスが CIDR ブロック内にある Docker クライアントは Container Registry Enterprise Edition インスタンスにアクセスできます。
重要すべての Docker クライアントがインターネット経由で Container Registry Enterprise Edition インスタンスにアクセスできるようにするには、インターネットアクセスを制御するホワイトリストをクリアします。ホワイトリストをクリアすると、Container Registry Enterprise Edition インスタンスはインターネットに完全に公開され、攻撃される可能性があります。注意して進めてください。
ステップ 7:イメージをプッシュおよびプルする
次のコマンドは、Docker クライアントで実行する必要があります。事前に Docker クライアントをインストールして構成してください。
次のコマンドを実行して、イメージリポジトリにログインします。
説明パブリックイメージリポジトリにイメージをプッシュまたはプルする場合は、Container Registry コンソールの [概要] ページで [匿名ユーザーからのプル] をオンにできます。その後、リポジトリにログインせずに、パブリックイメージリポジトリに匿名でイメージをプッシュまたはプルできます。
docker login --username=<イメージリポジトリにログインするために使用するユーザー名> <Container Registry Enterprise Edition インスタンスの名前>-registry.<Container Registry Enterprise Edition インスタンスのリージョン>.cr.aliyuncs.com例:
docker login --username=123@1234567810111213 m**-registry.cn-hangzhou.cr.aliyuncs.comコマンドプロンプトで、ステップ 3:イメージリポジトリにログインするために使用するパスワードを設定する で指定されているログインパスワードを入力します。
login succeededと表示された場合は、ログインは成功です。イメージをプッシュします。
次のコマンドを実行して、イメージにタグを付けます。
docker tag <イメージ ID> <Container Registry Enterprise Edition インスタンスの名前>-registry.<Container Registry Enterprise Edition インスタンスのリージョン>.cr.aliyuncs.com/<名前空間名>/<イメージリポジトリ名>:<イメージタグ>例:
docker tag Digest m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest次のコマンドを実行して、イメージを Container Registry Enterprise Edition インスタンスにプッシュします。
docker push <Container Registry Enterprise Edition インスタンスの名前>-registry.<Container Registry Enterprise Edition インスタンスのリージョン>.cr.aliyuncs.com/<名前空間名>/<イメージリポジトリ名>:<イメージタグ>例:
docker push m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest[リポジトリ] ページで、イメージリポジトリの名前をクリックします。表示されるページで、[タグ] をクリックします。[タグ] ページにイメージ名が表示されている場合は、イメージはイメージリポジトリにプッシュされています。
次のコマンドを実行して、イメージをプルします。
docker pull <Container Registry Enterprise Edition インスタンスの名前>-registry.<Container Registry Enterprise Edition インスタンスのリージョン>.cr.aliyuncs.com/<名前空間名>/<イメージリポジトリ名>:<イメージタグ>例:
docker pull m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latestdocker imagesコマンドを実行します。コマンド出力にイメージ名が表示されている場合は、イメージはイメージリポジトリからプルされています。