コンテナレジストリは、リポジトリレベルでイメージタグの不変性をサポートしています。この機能を有効にすると、latest タグを除き、既存および新規のすべてのイメージタグは上書きできなくなります。これにより、イメージタグの一貫性が確保されます。この機能により、特定のタグを持つイメージのプッシュが一度のみに制限され、意図しない上書きを防ぎます。
操作手順
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
「リポジトリ」ページで、目的のリポジトリを見つけ、操作 列の 管理 をクリックします。
「詳細」ページで、編集 をクリックします。
基本情報の変更 ダイアログボックスで、不変 を選択し、OK をクリックします。
説明イメージタグの不変性を無効にするには、不変 のチェックを外します。
検証
docker pushコマンドを実行して、latest以外のタグを持つ新しいイメージをリポジトリにプッシュします。docker push example-registry-vpc.cn-hangzhou.cr.aliyuncs.com/test/example:v1ステップ 1 でプッシュしたイメージと同じタグを持つ別のイメージをプッシュします。
プッシュリクエストは拒否されます。次のエラーが返され、イメージタグを上書きできないことを示します:
The requested tag already exists and cannot be overwritten.docker pushコマンドを実行して、latestタグが付いた新しいイメージをリポジトリにプッシュします。docker push example-registry-vpc.cn-hangzhou.cr.aliyuncs.com/test/example:latestステップ 3 でプッシュしたイメージと同じタグを持つ別のイメージをプッシュします。
プッシュは成功します。イメージはステップ 3 でプッシュしたイメージを上書きします。
[Immutable] のチェックを外します。
ステップ 1 でプッシュしたイメージと同じタグを持つ別のイメージをプッシュします。
プッシュは成功します。イメージはステップ 1 でプッシュしたイメージを上書きします。