我刚刚在他们的网页上安装了Docker-Toolbox

我从Docker快速入门终端开始,如下所示

                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/


docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com

bash-3.2$ 

但当我尝试执行docker拉hello-world时,这是我看到的

bash-3.2$ docker run hello-world
Unable to find image 'hello-world:latest' locally
Pulling repository docker.io/library/hello-world
Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/hello-world/images. You may want to check your internet connection or if you are behind a proxy.
bash-3.2$ 

怎么了?


当前回答

我今天早上遇到了同样的问题,下面的问题为我解决了:

$ docker-machine restart default      # Restart the environment
$ eval $(docker-machine env default)  # Refresh your environment settings

这似乎是由于Docker虚拟机进入了一个奇怪的状态。这里有一个开放的github问题

其他回答

参考https://docs.docker.com/network/proxy/ 对我来说,没有http://或https://前缀的代理设置是有效的。 例句: 代理:港口

或以/为后缀,以http://或https://为前缀 e。: http://PROXY:PORT/

在我的情况下,安装docker在Alpine Linux我得到的错误:

试图连接到https://index.docker.io/v1/repositories/library/........时,网络超时

使用脚本: https://github.com/docker/docker/blob/master/contrib/download-frozen-image-v2.sh

的工作原理。它使用curl下载图像,然后告诉你如何解tar和“docker加载”它。

我在8.8.8.8尝试了上面的静态DNS方法和禁用ipv6(我不理解代理的事情),没有一个对我有用。

编辑9/8/2016:

我最初使用dropbear而不是openssh。用openssh重新安装Alpine修复了这个问题。

下一个问题是“ApplyLayer退出状态1 stdout: stderr: chmod /bin/mount: permission denied”错误。

从(nixaid.com/grsec-in-docker/):

为了构建Docker映像,我必须禁用以下grsec 保护。修改“/etc/sysctl.d/grsec.conf”文件如下: kernel.grsecurity。Chroot_deny_chmod = 0 kernel.grsecurity。Chroot_deny_mknod = 0 kernel.grsecurity。chroot_caps = 0 #与systemd包/CAP_SETFCAP相关

但在alpine的案例中

/ etc / sysctl。d / 00-alpine上。

重新启动

我猜您有网络问题。你背后有代理人吗?它是否有可能过滤到docker的连接。IO或阻塞docker用户代理?

我安装了工具箱,运行了你的测试。它工作得很好,在这里:

docker is configured to use the default machine with IP 192.168.99.101
For help getting started, check out the docs at https://docs.docker.com

bash-3.2$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world

535020c3e8ad: Pull complete 
af340544ed62: Already exists 
library/hello-world:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.
Digest: sha256:d5fbd996e6562438f7ea5389d7da867fe58e04d581810e230df4cc073271ea52
Status: Downloaded newer image for hello-world:latest

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

bash-3.2$

如果你在代理之后,它是不够的,设置HTTP_PROXY和HTTPS_PROXY env。您应该在创建机器时设置它。

参数为——engine-env:

docker-machine create -d "virtualbox" --engine-env HTTP_PROXY=http://<PROXY>:<PORT> --engine-env HTTPS_PROXY=<PROXY>:<PORT> dev

如果您落后于代理,请使用以下命令

sudo mkdir /etc/systemd/system/docker.service.d

sudo cd /etc/systemd/system/docker.service.d

sudo vi http-proxy.conf

(服务) 环境= HTTP_PROXY = http://proxy-server-ip:端口”“NO_PROXY = localhost, 127.0.0.1” Sudo systemctl daemon-reload sudo systemctl show——property=环境docker Sudo systemctl restart docker

如果你能获取最新的ubuntu,试试这个

sudo docker run -it ubuntu bash

无法在本地找到映像ubuntu:latest

Pull from library/ubuntu b3e1c725a85f: Pull complete 4daad8bdde31:拉完成 63fe8c0068a8:拉完成 4a70713c436f:拉完成 bd842a2105a8:拉取完成 摘要: sha256:7a64bc9c8843b0a8c8b8a7e4715b7615e4e1b0d8ca3c7e7a76ec8250899c397a 状态:下载更新的ubuntu映像:最新

它终于为我工作了:)