boot2docker:没有到主机的路由
boot2docker: No route to host
我无法获取 Docker Toolbox for Windows 10 在公司代理后工作。
我无法 docker 登录或 docker 运行 工作,所以这就是我所做的调试。
我在虚拟机中创建了一个普通的 ubuntu 机器。
在我的主机上,我在端口 8000 上启动简单服务器 运行。
在ubuntu中:
$ curl 10.0.2.2:8000
$ [it retrieves the html being served]
$ curl www.google.com
$ curl (7) Failed to connect to www.google.com port 80: Connection refused
$ export http_proxy=http://my-proxy:3128
$ curl www.google.com
$ [302 HTTP response from google]
启动 2docker:
$ curl 10.0.2.2:8000
$ [it retrieves the html being served]
$ curl www.google.com
$ curl (7) Failed to connect to www.google.com port 80: Connection refused
$ export http_proxy=http://my-proxy:3128
$ curl www.google.com
$ curl: (7) Failed to connect to my-proxy:3128: No route to host
这是怎么回事?
好的,我终于解决了这个问题。
问题是公司代理与默认 docker VM 网桥存在于同一子网中。 (即 172.17.x.x)。
只是一个快速解决方法 - 您可以通过在 docker VM 中更改它来解决此问题。
$ docker-machine ssh mydockervm
$ ifconfig docker0 172.18.0.1 netmask 255.255.0.0
我对同样的问题进行了实验,我使用@dwjohnston 自己的答案来查找问题的原因。
在我的案例中,发生冲突的 docker VM 桥与旧的 docker-compose 的执行有关。
我解决了 运行 :
$ docker network prune
为了清理网络连接...
奇怪的是,如果 compose 启动的所有容器都已经被修剪,桥仍然是映射事件。
注意:这似乎是一个 "I have the same issue " 答案,但给定的解决方案不同...不同...
我无法获取 Docker Toolbox for Windows 10 在公司代理后工作。
我无法 docker 登录或 docker 运行 工作,所以这就是我所做的调试。
我在虚拟机中创建了一个普通的 ubuntu 机器。
在我的主机上,我在端口 8000 上启动简单服务器 运行。
在ubuntu中:
$ curl 10.0.2.2:8000
$ [it retrieves the html being served]
$ curl www.google.com
$ curl (7) Failed to connect to www.google.com port 80: Connection refused
$ export http_proxy=http://my-proxy:3128
$ curl www.google.com
$ [302 HTTP response from google]
启动 2docker:
$ curl 10.0.2.2:8000
$ [it retrieves the html being served]
$ curl www.google.com
$ curl (7) Failed to connect to www.google.com port 80: Connection refused
$ export http_proxy=http://my-proxy:3128
$ curl www.google.com
$ curl: (7) Failed to connect to my-proxy:3128: No route to host
这是怎么回事?
好的,我终于解决了这个问题。
问题是公司代理与默认 docker VM 网桥存在于同一子网中。 (即 172.17.x.x)。
只是一个快速解决方法 - 您可以通过在 docker VM 中更改它来解决此问题。
$ docker-machine ssh mydockervm
$ ifconfig docker0 172.18.0.1 netmask 255.255.0.0
我对同样的问题进行了实验,我使用@dwjohnston 自己的答案来查找问题的原因。
在我的案例中,发生冲突的 docker VM 桥与旧的 docker-compose 的执行有关。
我解决了 运行 :
$ docker network prune
为了清理网络连接...
奇怪的是,如果 compose 启动的所有容器都已经被修剪,桥仍然是映射事件。
注意:这似乎是一个 "I have the same issue " 答案,但给定的解决方案不同...不同...