我想将图像从测试推广到产品环境。我如何使用" 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
无法找到任何说明。多次尝试,都失败了。
答案 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'