Azure容器注册表(ACR)工件的命名策略



我们(主要(将带有语义版本标签的docker映像(包含maven构建(推送到我们的Azure容器注册表(ACR(,例如my-cool-app:1.0.0-SNAPSHOT。正如专家们所建议的那样,SNAPSHOT是一个正在构建的工作,它可能随时被覆盖,也可能不被覆盖。。。

我正在考虑一个专用的ACR,它只用于生产环境。本ACR应仅包含已发布的图像,这意味着图像标签中不应包含SNAPSHOT。如果有某种排序标记命名策略,除了锁定图像之外,基本上拒绝任何包含SNAPSHOT的部署,我找不到任何有用的信息。是否没有办法在ACR上定义这样的规则,或者我们是否必须检查";以编程方式";在构建/发布管道中?

在将图像推送到容器注册表之前,没有任何文档具有命名策略,但为了解决此问题,您可以使用Content trust in Azure Container Registry

Azure Container Registry实现了Docker的内容信任模型,从而能够推动和拉动签名图像。这篇文章让你开始在容器注册表中启用内容信任。

作为图像发布者,内容信任允许您对推送到注册表的图像进行签名。图像的使用者(从注册表中提取图像的人员或系统(可以将其客户端配置为仅提取签名图像。当图像使用者提取签名图像时,他们的Docker客户端会验证图像的完整性。在这个模型中,消费者可以放心,您注册表中的签名图像确实是由您发布的,并且自发布以来没有进行过修改。

此内容信任将有助于拒绝在容器注册中推送图像,因为它们可能不是在生产环境或Azure Contaier Registry 中使用的签名图像

有关如何在容器注册表中分配AcrImageSigner角色的更多信息,您可以参考此Mircosoft文档

最新更新