Docker Hub や Google Container Registry (GCR)、Quay などの外部レジストリからコンテナイメージをプルする際、ネットワークの問題により失敗することがあります。アーティファクトサブスクリプション機能を使用すると、追加のネットワーク構成を必要とせずに、ご利用の ACR Enterprise インスタンスが外部またはカスタムソースから直接イメージをイメージリポジトリに同期できます。
注意事項
この機能は、ACR エンタープライズインスタンスのベーシック、プレミアムエディションでのみ利用できます。サブスクリプションルールのクォータは、インスタンスエディションによって異なります。詳細については、「アーティファクトサブスクリプション」をご参照ください。
自動サブスクリプションの設定
自動サブスクリプションを設定すると、ご利用の ACR Enterprise インスタンスがサブスクリプションルールに従って、コンテナイメージを送信先のイメージリポジトリに自動的に同期します。
[Container Registry コンソール] にログインします。
上部のメニューバーでリージョンを選択し、左側のナビゲーションウィンドウで インスタンス をクリックします。
インスタンス ページで、対象の ACR Enterprise インスタンスをクリックします。左側のナビゲーションウィンドウで、 の順に選択します。
製品サブスクリプション ページで、サブスクリプションルールの作成 をクリックします。表示されたダイアログボックスで、以下のパラメーターを構成し、次へ をクリックします。
パラメーター
説明
製品ソース
イメージをサブスクライブする外部ソースを選択します。
ソースリポジトリドメイン名
このオプションは、[カスタムソース] を [製品ソース] として選択した場合にのみ表示され、必須フィールドです。
カスタムソースのドメイン名です。たとえば、Anolis コミュニティのイメージの場合は、
anolis-registry.cn-zhangjiakou.cr.aliyuncs.comと入力します。ソースリポジトリの座標
ソースイメージリポジトリへのパスです。パスは <名前空間>/<リポジトリ> 形式である必要があります。例:
library/nginx。サブスクリプションポリシー
サブスクライブするイメージバージョン(必須):サブスクライブするイメージバージョンを指定する正規表現です。デフォルト値「.*」は、すべてのイメージバージョンに一致します。
ソースリポジトリ内の最新 N 件のイメージをサブスクライブ(必須):同期する最新の一致イメージバージョンの件数です。Docker Hub からは最大 5 バージョン、その他のソースからは最大 30 バージョンを同期できます。
OS/アーキテクチャ
ソースリポジトリにマルチアーキテクチャのイメージが含まれている場合、特定のプラットフォーム向けのイメージのみをサブスクライブするために OS とアーキテクチャを指定できます。
リポジトリ ページで、以下の設定を行い、サブスクリプションルールの作成 をクリックします。
パラメーター
説明
リポジトリ
同期されたイメージを保存する送信先のイメージリポジトリです。
Overwrite Image
同期対象のイメージと同名のイメージが送信先リポジトリに存在する場合に、そのイメージを上書きするかどうかを指定します。
加速リンク
スケジューリングポリシーおよびネットワークリンクの最適化により、イメージの同期を高速化します。
更新方法
ソースリポジトリからの更新を同期する方法を指定します。
ルールを作成後、ACR Enterprise インスタンスはそのルールに従って自動的にイメージを同期します。次回のスケジュール同期前にイメージが必要な場合は、即時同期を実行できます。
即時同期の実行
サブスクリプションルールを手動でトリガーして、任意のタイミングでイメージを同期できます。
[Container Registry コンソール] にログインします。
上部のメニューバーでリージョンを選択し、左側のナビゲーションウィンドウで インスタンス をクリックします。
インスタンス ページで、対象の ACR Enterprise インスタンスをクリックします。左側のナビゲーションウィンドウで、 の順に選択します。
製品サブスクリプション ページで、目的のサブスクリプションルールを見つけ、操作 列の 実行 をクリックします。
ヒント ダイアログボックスで、OK をクリックします。
同期タスクが完了すると、送信先イメージリポジトリで同期されたコンテナイメージを確認できます。