容器镜像服务ACR支持镜像版本不可变功能,保证相同版本的镜像只被成功推送一次,从而避免人为误操作引起的镜像版本覆盖问题。现支持基于仓库级别的配置,开启镜像不可变功能后,除latest版本外,存量和新增的其他镜像版本均不可覆盖,保障您的容器镜像版本一致性。本文介绍如何开启镜像版本不可变。

操作步骤

  1. 登录容器镜像服务控制台
  2. 在顶部菜单栏,选择所需地域。
  3. 在左侧导航栏,选择实例列表
  4. 实例列表页面单击目标企业版实例。
  5. 在企业版实例管理页面左侧导航栏选择仓库管理 > 镜像仓库
  6. 在镜像仓库页面选单击目标仓库操作列的管理
  7. 在基本信息页面单击编辑
  8. 修改基本信息对话框中选中不可变,然后单击确定
    说明 去掉选中 不可变,可以关闭镜像版本不可变功能。

结果验证

  1. 使用docker push命令推送一个非latest版本的新镜像至相应的仓库。
    docker push example-registry-vpc.cn-hangzhou.cr.aliyuncs.com/test/example:v1
  2. 再次推送与步骤1相同版本的镜像。
    推送过程将被阻断,出现如下镜像版本不可覆盖的提示。
    The requested tag already exists and cannot be overwritten.
  3. 使用docker push命令推送一个latest版本的新镜像至相应的仓库。
    docker push example-registry-vpc.cn-hangzhou.cr.aliyuncs.com/test/example:latest
  4. 再次推送与步骤3相同版本的镜像。
    推送成功,推送的镜像覆盖了步骤 3的镜像。
  5. 关闭镜像版本不可变功能。
  6. 推送与步骤1相同版本的镜像。
    推送成功,推送镜像覆盖了步骤 1的镜像。