Container Registry Enterprise Editionインスタンスを使用して、イメージをプッシュおよびプルできます。 これにより、さまざまな環境で画像をより適切に管理および使用できます。 これにより、開発と展開の効率が向上し、コンテナイメージの一貫性と信頼性が確保されます。
前提条件
Alibaba Cloud アカウントが作成済みであること。 詳細については、「Alibaba Cloudアカウントへの登録とログイン」をご参照ください。
Docker Engineが環境にインストールされています。 詳細については、「CentOSへのDocker Engineのインストール」をご参照ください。
Object Storage Service (OSS) がアクティブ化され、Container Registry Enterprise Editionのイメージが保存されます。 詳細については、「OSSの有効化」をご参照ください。
手順1: Container Registry Enterprise Editionインスタンスの作成
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
インスタンスページをクリックします。ACR EEの作成.
Container Registry Enterprise Editionページで、パラメーターを設定し、[今すぐ購入] をクリックします。 下表にパラメーターを示します。
パラメーター
説明
region
Container Registry Enterprise Editionインスタンスが存在するリージョン。
[インスタンスタイプ]
インスタンスのエディション。 詳細については、「Container Registry の概要」をご参照ください。
[インスタンス名]
インスタンスの名前です。
インスタンスストレージ
有効な値: デフォルトおよびカスタム。
デフォルト: デフォルトでは、コンテナイメージを保存するためのOSSバケットがアカウントに作成されます。
カスタム: 既存のOSSバケットを選択して、コンテナイメージを保存できます。
バケットの選択
コンテナイメージを保存する既存のOSSバケットを選択します。
説明このパラメーターは、[インスタンスストレージ] パラメーターを [カスタム] に設定した場合にのみ表示されます。
セキュリティスキャン
Container Registry Enterprise Editionは、イメージセキュリティスキャン機能を提供します。 次のセキュリティスキャンエンジンをサポートしています。
Trivy Scan Engine: システムの脆弱性とアプリケーションの脆弱性を検出できるオープンソースのスキャンエンジン。 Trivyスキャンエンジンは、数回クリックするだけでシステムの脆弱性を修正しません。
Security Center Scan Engine: Alibaba Cloudによって開発されたスキャンエンジン。 エンジンは、システムとアプリケーションの脆弱性、ベースラインリスク、および悪意のあるサンプルを検出できます。 Security Centerスキャンエンジンを使用すると、数回クリックするだけでシステムの脆弱性を修正できます。
リポジトリクォータ
デフォルトでは、Basic Editionはリポジトリクォータ1,000を提供し、Advanced Editionはリポジトリクォータ5,000を提供します。 ビジネス要件に基づいてクォータの増加を申請できます。
名前空間クォータ
デフォルトでは、Basic Editionは15の名前空間クォータを提供し、Advanced Editionは50の名前空間クォータを提供します。 ビジネス要件に基づいてクォータの増加を申請できます。
VPCのアクセス制御リストクォータ
サービスがContainer Registry Enterprise Editionインスタンスから仮想プライベートクラウド (VPC) 経由でイメージをプルする必要がある場合、Enterprise EditionインスタンスのVPCアクセスコントロールリスト (ACL) クォータを購入する必要があります。 詳細については、「課金ルール」をご参照ください。
有効期間
1か月、2か月、3か月、または6か月を選択できます。 より長い期間が必要な場合は、1年、2年、3年、4年、または5年を選択できます。
説明要件に基づいて自動更新を有効にできます。
リソースグループ
既存のリソースグループを選択します。 こちらをクリックして、resource Managementコンソールでリソースグループを作成することもできます。
注文の確認ページ、設定を確認し、Container Registry Enterprise Editionのサービス契約を読み、同意しましたをクリックし、支払う.
[購入] ページの右下隅で、インスタンスの合計料金を表示します。 注文情報を確認し、画面の指示に従って支払いを完了します。
[インスタンス] ページで、新しいインスタンスのステータスは [開始] です。 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インスタンスの管理ページの左側のナビゲーションウィンドウで、 .
アクセス制御ページをクリックし、インターネットタブ、オンにするインターネット経由のアクセスを有効にするをクリックし、インターネットホワイトリストの追加.
インターネットホワイトリストの追加ダイアログボックスで、CIDRブロックとDockerクライアントのホストの説明を入力し、確認.
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=<Username that you use to log on to the image repository> <Name of the Container Registry Enterprise Edition instance>-registry.<Region of the Container Registry Enterprise Edition instance>.cr.aliyuncs.com
例:
docker login --username=123@1234567810111213 m**-registry.cn-hangzhou.cr.aliyuncs.com
コマンドプロンプトで、手順3: イメージリポジトリへのログインに使用するパスワードの設定で指定されたログインパスワードを入力します。
ログインが成功
と表示された場合、ログインは成功です。画像をプッシュします。
次のコマンドを実行して、画像にタグを付けます。
docker tag <Image ID> <Name of the Container Registry Enterprise Edition instance>-registry.<Region of the Container Registry Enterprise Edition instance>.cr.aliyuncs.com/<Namespace name>/<Image repository name >:<Image tag>
例:
docker tag Digest m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest
次のコマンドを実行して、Container Registry Enterprise Editionインスタンスにイメージをプッシュします。
docker push <Name of the Container Registry Enterprise Edition instance>-registry.<Region of the Container Registry Enterprise Edition instance>.cr.aliyuncs.com/<Namespace name>/<Image repository name>:<Image tag>
例:
docker push m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest
[リポジトリ] ページで、イメージリポジトリの名前をクリックします。 表示されるページで、[タグ] をクリックします。 [タグ] ページに画像名が表示されている場合、画像は画像リポジトリにプッシュされます。
次のコマンドを実行してイメージをプルします。
docker pull <Name of the Container Registry Enterprise Edition instance>-registry.<Region of the Container Registry Enterprise Edition instance>.cr.aliyuncs.com/<Namespace name>/<Image repository name>:<Image tag>
例:
docker pull m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest
docker images
コマンドを実行します。 コマンド出力にイメージ名が表示されている場合、イメージはイメージリポジトリから取得されます。