Docker官方注册表(Docker Hub)URL

时间:2015-12-10 09:44:32

标签: docker dockerhub

Docker Hub官方网站已从https://registry.hub.docker.com移至https://hub.docker.com/

如果我尝试docker pull来自网址的docker pull registry.hub.docker.com/busybox图像:registry.hub.docker.com/busybox: this image was pulled from a legacy registry. Important: This registry version will not be supported in future versions of docker. ,则会显示:

docker pull registry.hub.docker.com/busybox

但如果我使用curl -k https://registry.hub.docker.com/v1/repositories/busybox/tags

它无法拉动图像。

使用 if ($unitWeight != 0) { $saleableUnits = ($sumQty/$unitWeight); $unitCost = ($sumCost/$saleableUnits); }

时的情况相同

7 个答案:

答案 0 :(得分:48)

官方图片的注册表路径(名称中没有斜杠)为library/<image>。试试这个:

docker pull registry.hub.docker.com/library/busybox

答案 1 :(得分:7)

您可以使用docker info获取当前的注册表URL:

...
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
...

这也是您可以用来运行自托管注册表的URL:

docker run -d -p 5000:5000 --name registry -e REGISTRY_PROXY_REMOTEURL=https://index.docker.io registry:2

Grep并立即使用:

$ echo $(docker info | grep -oP "(?<=Registry: ).*")
https://index.docker.io/v1/

答案 2 :(得分:5)

对于那些尝试使用“将容器映像部署到此VM实例”来创建Google Cloud实例的用户。选项,则正确的网址格式为

  

docker.io/<dockerimagename>:version

上面registry.hub.docker.com/library/<dockerimagename>的建议对我不起作用。

我终于找到了解决方案here(在我的情况下,我试图运行docker.io/tensorflow/serving:latest)

答案 3 :(得分:0)

在创建dockerhub kubernetes机密时,我在搜索dockerhub仓库URL时碰到了这篇文章。想通id共享URL成功使用,希望可以。

这对我有用:https://index.docker.io/v1/

答案 4 :(得分:0)

对于那些希望在使用fabric8 maven插件时明确声明要从dockerhub中拉出的用户,请添加一个新属性:<docker.pull.registry>registry.hub.docker.com/library</docker.pull.registry>

我到达此页面是为了解决在使用fabric8构建Docker映像时从我的AWS ECR注册表中提取问题。

答案 5 :(得分:-1)

它只是docker pull busybox,您使用的是docker客户端的最新版本吗?我认为他们停止支持低于1.5的客户。

顺便说一句,卷曲对我有用:

$ curl -k https://registry.hub.docker.com/v1/repositories/busybox/tags
[{"layer": "fc0db02f", "name": "latest"}, {"layer": "fc0db02f", "name": "1"}, {"layer": "a6dbc8d6", "name": "1-ubuntu"}, {"layer": "a6dbc8d6", "name": "1.21-ubuntu"}, {"layer": "a6dbc8d6", "name": "1.21.0-ubuntu"}, {"layer": "d7057cb0", "name": "1.23"}, {"layer": "d7057cb0", "name": "1.23.2"}, {"layer": "fc0db02f", "name": "1.24"}, {"layer": "3d5bcd78", "name": "1.24.0"}, {"layer": "fc0db02f", "name": "1.24.1"}, {"layer": "1c677c87", "name": "buildroot-2013.08.1"}, {"layer": "0f864637", "name": "buildroot-2014.02"}, {"layer": "a6dbc8d6", "name": "ubuntu"}, {"layer": "ff8f955d", "name": "ubuntu-12.04"}, {"layer": "633fcd11", "name": "ubuntu-14.04"}]

如果你嗅到标题,你会得到一个HTTP 405(不允许使用方法)。我认为这可能与Docker已弃用Registry API

的事实有关

答案 6 :(得分:-1)

只需使用

docker pull <username>/<imagename>  

这可以解决问题。 根据您的情况,使用

docker pull busybox