当我在CI中构建图像时,我使用唯一的SHA标记推送它。然后,当我将其部署到生产时,我想更改:latest
别名以指向同一图像,如下所示:
docker pull org/foo:34f8a342
docker tag org/foo:34f8a342 org/foo:latest
docker push org/foo:latest
现在我想避免拉这个图像。问题是部署脚本的容器与用于构建它的容器不同,因此我不在本地拥有此映像。有没有办法在docker hub上添加标签别名而无需在本地拥有此图像?
答案 0 :(得分:0)
我不知道直接在docker hub上标记docker镜像。您的问题有一个解决方法,即在构建图像时使用两个标记标记图像。 TRANSFORM MAX([Value])
SELECT [Report Date], [Name], [Location]
FROM myTable
GROUP BY [Report Date], [Name], [Location]
PIVOT [Desc];
允许为一个构建创建多个标记:
docker build
答案 1 :(得分:0)
可以看到here是不允许的,但是,如果问题是某人在评论中提到的那样拖拉整个图像的速度很慢,则只需将清单“拉”为{{3 }},通过 Docker Registry API
MANIFEST=$(curl -H "Accept: application/vnd.docker.distribution.manifest.v2+json" "${REGISTRY_NAME}/v2/${REPOSITORY}/manifests/${TAG_OLD}")
curl -X PUT -H "Content-Type: application/vnd.docker.distribution.manifest.v2+json" -d "${MANIFEST}" "${REGISTRY_NAME}/v2/${REPOSITORY}/manifests/${TAG_NEW}"