我刚刚在他们的网页上安装了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服务创建systemd下拉目录:

$ sudo mkdir -p /etc/systemd/system/docker.service.d

创建一个名为/etc/systemd/system/docker.service.d/http-proxy.conf的文件,添加HTTP_PROXY环境变量:

(服务)

Environment="HTTP_PROXY=http://proxy.example.com:80/"

希望能有所帮助

其他回答

如果你在代理之后,它是不够的,设置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

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

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

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

在Windows系统上,当我从工作网络转移到家庭网络时,就发生了这种情况。

要解决这个问题,运行:

docker-machine停止 docker-machine开始 docker-env "C:\Program Files\Docker Toolbox\ Docker -machine.exe" env |调用表达式

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

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映像:最新

它终于为我工作了:)

在我的情况下,安装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上。

重新启动