docker:来自守护程序的错误响应:获取https://registry-1.docker.io/v2/:服务不可用.在DOCKER,MAC

Him*_*rma 21 docker docker-proxy

我在Mac系统10.11.6中遇到此问题

system3:postgres saurabh-gupta2$ docker build -t postgres .
Sending build context to Docker daemon  38.91kB
Step 1/51 : FROM registry.access.redhat.com/rhel7/rhel
Get https://registry.access.redhat.com/v2/: Service Unavailable
Run Code Online (Sandbox Code Playgroud)
docker run  -t apline 
Unable to find image 'apline:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: Service Unavailable.
See 'docker run --help'.
Run Code Online (Sandbox Code Playgroud)

我已经找到了设置代理的解决方案,但我已经设置了wifi的代理.

https://docs.docker.com/docker-for-mac/networking/#httphttps-proxy-support

它仍然没有用.

我已经为docker设置了代理.它不起作用.

在偏好 - >代理

Docker版本17.12 ce

我也想知道代理是否有问题,如何检查它是否已设置,有什么办法解决这个问题?我走错了路吗?

编辑

每个答案都有帮助,所以分享你如何解决.

ken*_*orb 14

以下是一些建议:

  1. 尝试重新启动Docker服务.
  2. 检查您的网络连接.例如,通过以下shell命令:

    </dev/tcp/registry-1.docker.io/443 && echo Works || echo Problem
    curl https://registry-1.docker.io/v2/ && echo Works || echo Problem
    
    Run Code Online (Sandbox Code Playgroud)
  3. 检查您的代理设置(例如,在/etc/default/docker).

如果上面没有帮助,这可能是Docker服务的临时问题(根据服务不可用).

相关:GH-842 - 503服务不可用于http://hub.docker.com.

过去几天我遇到了这个问题,之后才开始工作.

您可以考虑在docker/hub-feedbackrepo,check at,Docker社区论坛上提出问题,或直接联系Docker支持.

  • 重新启动 docker 对我来说是解决方案。谢谢。 (3认同)
  • 对于那些运行 docker toolbox 的人,关闭虚拟框然后运行“Docker quickstart terminal”为我解决了这个问题。也许有更好的方法来重新启动它,但它奏效了。 (2认同)

Mor*_*esh 13

我尝试在 Windows 上运行,并在更新后遇到此问题。我尝试重新启动 docker 服务以及我的电脑,但没有任何效果。

运行时:

curl https://registry-1.docker.io/v2/ && echo Works
Run Code Online (Sandbox Code Playgroud)

我回来了:

{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}
Works
Run Code Online (Sandbox Code Playgroud)

最终,我尝试了:https : //github.com/moby/moby/issues/22635#issuecomment-284956961

通过将固定地址更改为 8.8.8.8: 在此处输入图片说明

这对我有用!我仍然收到未经授权的消息,curl https://registry-1.docker.io/v2/但我设法从 docker hub 拉取图像。


Die*_*iso 10

这显然是一个代理问题:docker 将 https 连接代理到了错误的地方。请记住,docker 代理设置可能与操作系统(和curl)的设置不同。我是这样解决这个问题的:

首先,找出你在哪里代理你的 docker https 请求:

# docker info | grep Proxy
Http Proxy: http://<my.proxy.server>:8080
Https Proxy: https://<my.proxy.server>:8080
No Proxy: localhost,127.0.0.1
Run Code Online (Sandbox Code Playgroud)

并仔细检查您的 https 设置。

就我而言,我意识到“Https proxy”被设置为https://...而不是http://...,因此我在/etc/sysconfig/docker文件中更正了它(我使用的是 RHEL7),并且在 docker 重新启动后使用:

# systemctl restart docker
Run Code Online (Sandbox Code Playgroud)

代理变量显示已成功更新:

# docker info | grep Proxy
Http Proxy: http://<my.proxy.server>:8080
Https Proxy: http://<my.proxy.server>:8080
No Proxy: localhost,127.0.0.1
Run Code Online (Sandbox Code Playgroud)

一切正常:-)


Olu*_*ayo 6

对我来说,我第一次安装Docker并运行时遇到了这个问题

docker run hello-world
Run Code Online (Sandbox Code Playgroud)

我在运行时收到验证要求的错误

$ curl https://registry-1.docker.io/v2/ && echo Works
Run Code Online (Sandbox Code Playgroud)

我需要做的就是重新启动MacOS,然后再次运行命令,它刚刚开始提取映像,并且我得到了消息

Hello from Docker!
This message shows that your installation appears to be working correctly.
Run Code Online (Sandbox Code Playgroud)


Tin*_*say 6

docker logout
docker login
Run Code Online (Sandbox Code Playgroud)

这可能会解决您的问题


Bri*_*ian 5

只是补充一下,以防其他人遇到这个问题。

在 Mac 上,我必须注销并重新登录。

docker logout

docker login 
Run Code Online (Sandbox Code Playgroud)

然后它会提示输入用户名(注意:不是电子邮件)和密码。(需要https://hub.docker.com上的帐户才能下载图像)

然后它对我有用。


小智 5

在 MAC 上对我有用的一种选择。

单击托盘中的 Docker 图标。打开首选项 -> 代理。单击手动代理并以我们在 HTTPS_PROXY 环境变量中指定的相同格式指定 Web 服务器 (HTTP) 代理和安全 Web 服务器 (HTTPS) 代理。选择应用并重新启动。

这对我有用