【发布时间】:2022-01-01 11:58:29
【问题描述】:
我的中间件团队在 azure devops 上有一个管道,它会定期从 docker hub 拉出一堆图像,并将其重新发布到我们的私有存储库中。
我想更改管道,不仅可以复制/粘贴图像,还可以安装我们的 CA 根证书。
发布管道由 3 个步骤组成:
- 一堆
docker pull RemoteRepository.com/image:latest docker tag RemoteRepository.com/image:latest InternalACR.io/image:latestdocker push InternalACR.io/image:latest
因为没有涉及dockerfile,所以我想知道是否可以保持这种状态。
这里推荐的方法是什么?
【问题讨论】:
-
1) 最简单的方法是使用 Dockerfile。 2) 你可以使用 docker exec 然后 docker commit。您的根 CA 需要可供 Azure DevOps 访问。
-
而且
docker commit基本上从来都不是最佳实践;每次生成新版本时,您都必须以完全相同的方式重复完全相同的步骤。您可以编写一个非常简单的 DockerfileFROM remoterepository.com/image:latest(或特定于构建的标签),将COPY证书文件放到已知位置,然后设置您的 CI 系统以构建和推送图像。 -
我实际上使用了近 100 个不同的基础镜像...有什么方法可以不用创建 100 个不同的 dockerfile?
标签: azure docker azure-devops azure-container-registry