docker API v2 - 如何标记和推送图像

时间:2017-01-16 02:03:24

标签: docker

我想将图像从测试推广到产品环境。我如何使用" curl POST"通过docker registry API v2标记和推送图像? (Docker API 1.22) 等效命令是:

docker tag my_testrepo:6000/new_test_image:test_tag myprod_repo:5000/new_prod_image:tag
docker push myprod_repo:5000/new_prod_image:tag

如何使用curl命令将图像标记为repo:

POST /images/test/tag?repo=myrepo&force=0&tag=v42 HTTP/1.1

无法找到任何说明。多次尝试,都失败了。

1 个答案:

答案 0 :(得分:1)

在研究这个问题时,我偶然发现了这个问题。我找到的解决方案解决了this博文。感谢解决方案的 wheleph

基本上没有标记现有图像的方法,您只需下载现有标记的清单,然后将清单重新上传为新标记:

curl /v2/mybusybox/manifests/latest -H 'accept: application/vnd.docker.distribution.manifest.v2+json' > manifest.json

然后重新上传该清单文件。

curl -XPUT '/v2/mybusybox/manifests/new_tag' -H 'content-type: application/vnd.docker.distribution.manifest.v2+json' -d '@manifest.json'