我有一些私有的Docker注册表:http://some-registry-somewhere.com:5000。
当我需要运行我的撰写配置时,我需要拉出一个目标图像。
$ docker pull some-registry-somewhere.com:5000/target/image:tag1
在docker-compose.yml
文件中,我必须设置相同的完整网址路径,因为有图片some-registry-somewhere.com:5000/target/image:tag1
。
要获得仅包含图片名称的图片,我们可以对其进行标记:
$ docker tag some-registry-somewhere.com:5000/target/image:tag1 target/image:tag1
但有没有办法通过Docker自动删除Docker注册表URL?
答案 0 :(得分:1)
由于API规范,没有这种方法。图像名称不仅仅是标记,还标识了docker引擎,应该使用哪个注册表来推送和拉动此图像。
第一个some-registry-somewhere.com:5000/target/image:tag1
是图片target/image:tag1
,位于some-registry-somewhere.com:5000
。
第二个target/image:tag1
,换句话说,是docker.io/target/image:tag1
图像,位于官方存储库中。
事实上,在大多数情况下,它们可能会有所不同。
单向,哪个不好,实际上,因为可能令人困惑(再次参见有关存储库),就是使用&&
:
docker pull some-registry-somewhere.com:5000/target/image:tag1 && docker tag some-registry-somewhere.com:5000/target/image:tag1 target/image:tag1