4.2. 标签过期
可以使用名为 tag expiration 的功能,将镜像设置为从 Red Hat Quay 存储库中过期。对于标签过期,需要了解以下内容:
- 当标签过期时,标签会从存储库中删除。如果它是特定镜像的最后一个标签,则会将镜像设置为已删除。
- 过期时间以每个标签为基础设置,而不是针对整个存储库设置。
- 当标签过期或被删除时,它不会立即从 registry 中删除。Time Machine 的值(在 User settings 中)定义何时删除的标签以及垃圾回收垃圾。默认情况下,该值为 14 天。直到该时间之前,标签可以重新指向已过期或删除的镜像。
- Red Hat Quay 超级用户没有与从用户存储库中删除已过期的镜像相关的特殊权限。超级用户没有中央机制来收集信息并对用户存储库执行操作。最多每个存储库的所有者来管理过期并最终删除其镜像。
标签过期可以以不同的方式设置:
-
在创建镜像时,通过在 Dockerfile 中设置
quay.expires-after=LABEL。这会将一个时间设置为在构建镜像时过期。 - 通过从存储库标签的 EXPIRES 列中选择过期日期并选择要到期的特定日期和时间。
下图显示了更改标签过期的 Options 条目,以及标签过期时 EXPIRES 字段。将鼠标悬停在 EXPIRES 字段上,以查看当前设置的过期日期和时间。
4.2.1. 从 Dockerfile 设置标签过期 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
通过 Dockerfile LABEL 命令添加类似 quay.expires-after=20h 的标签将导致标签在指示的时间后自动过期。时间值可以类似 1h, 2d, 3w,分别代表小时、天和星期(自镜像构建的时间)。
4.2.2. 从存储库设置标签过期 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在 Repository Tag 页面中,有一个名为 EXPIRES 的 UI 列,它指示标签何时过期。用户可以通过单击右侧的设置时间或单击右侧的 Settings 按钮(齿轮图标),然后选择 Change Expiration 来设置此设置。
选择提示时的日期和时间,然后选择 Change Expiration。当达到过期时间时,标签将从存储库中删除。