有没有办法从私人registry中拉出图像并切断url?

我有一些私人的Dockerregistry: http ://some-registry-somewhere.com: 5000 。

当我需要运行我的组合configuration时,我需要拉一个目标图像。

$ docker pull some-registry-somewhere.com:5000/target/image:tag1 

docker-compose.yml文件中,我必须设置相同的完整的URLpath,因为有拉图像some-registry-somewhere.com:5000/target/image:tag1

只有图像名称的图像我们可以标记它:

 $ docker tag some-registry-somewhere.com:5000/target/image:tag1 target/image:tag1 

但有没有办法通过Docker自动剪切Dockerregistry的URL?

没有这样的方式,因为API规范。 图像名称不仅仅是标签,它还标识了docker引擎,应该使用哪个registry来推送和拖动这个图像。

而第一个some-registry-somewhere.com:5000/target/image:tag1是image target/image:tag1 ,它位于some-registry-somewhere.com:5000

第二个target/image:tag1是换句话说,位于官方存储库中的image, docker.io/target/image:tag1 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