dockerAPI v2 – 如何标记和推送图像

我想推动形象从testing到生产环境。 如何使用“ curl POST ”通过dockerregistryAPI 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命令将图像标记为回购:

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

找不到任何说明。 试了很多次,都失败了。

在研究这个问题的时候,我偶然发现了这个问题。 我发现的解决scheme围绕这篇博客文章解决。 信贷解决schemewheleph

基本上没有方法来标记现有的图像,您可以简单地下载现有标签的清单,并重新上传清单作为一个新的标签:

 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'