首页 > 解决方案 > 如何从包含提交哈希作为标记名称的 DockerHub 中提取最新(最新)的 docker 映像

问题描述

我已经浏览了很多帖子,但仍然不清楚,所以在这里发布我的问题以便更好地理解。
我有 2 个 git 存储库。1个前端,1个后端。
开发人员编写代码并在测试完成后将代码推送到 DockerHub。Docker 图像具有commit hashas 标记名称(图像名称 = username/myapp-fe:1906d8f
我正在使用 Ansible 编写一个 Jenkins 作业,它将执行docker-compose文件。docker-compose 将执行以下任务

我无法弄清楚提取具有commit hash标签名称的最新 docker 图像的方法?
我应该使用 dockerDigest:sha256代替commit hash标签名称吗?我可以从这个替换中获得什么好处?

标签: dockerdocker-compose

解决方案


如果您希望执行相当于docker pull username/myapp-fe:1906d8f每次运行作业的操作,请不要使用 SHA256 哈希。只需使用标签本身。

如果你使用 Docker SHA256,你指定一个特定的图像,而不考虑标签,即如果有多个带有标签的图像,1906d8f你也可以指定一个较旧的:docker pull username/myapp-fe@sha256:4ecb92a78f71a48c681a4d219a9ede869afd6dbedf27bc5dea44aa3e1a38ccea. 请注意,这种引用图像的方式没有标签。使用它的好处是您指定的是特定图像而不是浮动标签 - 如果使用错误图像更新该标签,您的管道可能会无缘无故地失败 - 您的代码不会改变,但您的图像会改变!


推荐阅读