Container Registry は、リポジトリレベルでイメージタグの不変性をサポートしています。この機能を有効にすると、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 同じく latest タグを持つ別のイメージをプッシュします。このタグは、ステップ 3 でプッシュしたイメージのタグと同じです。
プッシュは成功します。イメージはステップ 3 でプッシュしたイメージを上書きします。
[不変] チェックボックスの選択を解除します。
ステップ 1 でプッシュしたイメージと同じタグを持つ別のイメージをプッシュします。
プッシュは成功します。イメージはステップ 1 でプッシュしたイメージを上書きします。