Docker Hub、Google Container Registry (GCR)、Quay などの外部レジストリからコンテナイメージをプルすると、ネットワークの問題で失敗することがあります。アーティファクトサブスクリプション機能を使用すると、ACR エンタープライズインスタンスは、追加のネットワーク設定を必要とせずに、外部またはカスタムソースからイメージリポジトリにイメージを直接同期できます。
使用上の注意
この機能は、ACR Enterprise インスタンスの ベーシック、アドバンスト エディションでのみ利用できます。 サブスクリプションルールのクォータは、インスタンスのエディションによって異なります。 詳細については、「アーティファクトサブスクリプション」をご参照ください。
自動サブスクリプションの設定
自動サブスクリプションを設定すると、ACR エンタープライズインスタンスはサブスクリプションルールに従って、コンテナイメージを宛先イメージリポジトリに自動的に同期します。
Container Registryコンソールにログインします。
トップメニューバーでリージョンを選択し、左側のナビゲーションペインでインスタンスをクリックします。
インスタンス ページで、対象の ACR エンタープライズインスタンスをクリックします。左側メニューで、 を選択します。
製品サブスクリプション ページで、サブスクリプションルールの作成 をクリックします。ダイアログボックスで、次のパラメーターを設定し、次へ をクリックします。
パラメーター
説明
[製品ソース]
Select the external source from which to subscribe to images. If you select [カスタムソース], the source repository must meet all of the following requirements:
The repository complies with the Docker Registry HTTP API V2 protocol.
The repository is public. A private repository is not supported.
The repository is accessible over the Internet through HTTPS.
Artifact subscription only supports international sources and eligible custom sources. Using images from ACR instances as subscription sources is not supported.
[ソースリポジトリドメイン名]
このオプションは、製品ソース に カスタムソース を選択した場合にのみ表示され、必須項目です。
カスタムソースのドメイン名です。たとえば、Anolis コミュニティのイメージの場合、
anolis-registry.cn-zhangjiakou.cr.aliyuncs.comを入力します。[ソースリポジトリの座標]
ソースイメージリポジトリへのパスは
<namespace>/<repository>形式である必要があります。たとえばlibrary/nginxです。[サブスクリプションポリシー]
ソースリポジトリのイメージタグにサブスクライブ (必須): サブスクライブするイメージバージョンを指定する正規表現です。デフォルト値の
.*は、すべてのイメージバージョンに一致します。ソースリポジトリの最初の N 個のイメージをサブスクライブする (必須):同期する、一致しているイメージバージョンの数です。Docker Hub からは最大 5 バージョン、その他のソースからは最大 30 バージョンを同期できます。
[OS/アーキテクチャ]
ソースリポジトリにマルチアーキテクチャイメージが含まれている場合、OS とアーキテクチャを指定して、そのプラットフォームのイメージのみをサブスクライブできます。
リポジトリ ページで、次の設定を構成し、サブスクリプションルールの作成 をクリックします。
パラメーター
説明
[リポジトリ]
同期されたイメージが保存される宛先イメージリポジトリです。
[Overwrite Image]
同期されたイメージと同じ名前のイメージが宛先リポジトリに存在する場合に、そのイメージを上書きするかどうかを指定します。
[加速リンク]
スケジューリングポリシーとネットワークリンクの最適化により、イメージの同期を高速化します。
[更新方法]
ソースリポジトリから宛先リポジトリにイメージタグを定期的に同期します。
ルールが作成されると、ACR エンタープライズインスタンスはルールに従ってイメージを自動的に同期します。次回のスケジュールされた同期の前にイメージが必要な場合は、即時同期を実行できます。
即時同期の実行
サブスクリプションルールを手動でトリガーして、いつでもイメージを同期できます。
Container Registryコンソールにログインします。
トップメニューバーで、リージョンを選択します。左側のナビゲーションペインで、インスタンスをクリックします。
インスタンス ページで、対象の ACR エンタープライズインスタンスをクリックします。左側メニューで、 を選択します。
製品サブスクリプション ページで、目的のサブスクリプションルールを見つけ、操作 列の 実行 をクリックします。
ヒント ダイアログボックスで、OK をクリックします。
同期タスクが完了したら、宛先イメージリポジトリで同期されたコンテナイメージを表示できます。