我最近在我的 Ubuntu 17.10 VM 上安装了 Docker 18.04.0-ce。在代理后面工作时,我在尝试登录 Docker Hub 注册表时遇到了困难。所以当我跑步时:
docker login -u <username> -p <cool password>
Run Code Online (Sandbox Code Playgroud)
我收到这条消息:
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http:
request canceled while waiting for connection (Client.Timeout exceeded while
awaiting headers)
Run Code Online (Sandbox Code Playgroud)
据我所做的研究得出的理解是,当您位于代理后面并且想要使用 Docker 时,即使设置了环境变量,您也需要相应地配置它:
http_proxy=<my_proxy>
https_proxy=<my_proxy>
HTTP_PROXY=<my_proxy>
HTTPS_PROXY=<my_proxy>
Run Code Online (Sandbox Code Playgroud)
其次,Docker 看起来有多个级别的代理配置,这意味着构建、容器和守护进程的不同配置。
我去配置了所有这些以匹配我的代理,但我仍然收到该消息。是的,我确实重新启动了服务和守护进程。
更新:
$ docker info
Containers: 8
Running: 0
Paused: 0
Stopped: 8
Images: 12
Server Version: 18.04.0-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup …Run Code Online (Sandbox Code Playgroud)