连接到远程主机上的docker守护进程

我有两个虚拟机(A和B)与Ubuntu和docker安装在两个。 他们被放置在同一个虚拟networking。 我想从B中访问A的docker守护进程

为了达到这个目的,我把A的守护进程绑定到2375端口。为此,我添加了

ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS EnvironmentFile=-/etc/default/docker 

/lib/systemd/system/docker.service

 DOCKER_OPTS="-H tcp://0.0.0.0:2375" 

/etc/default/docker

在BI上使用docker -H=192.168.71.129:2375 run hello-world并获取docker: Cannot connect to the Docker daemon...错误。

故障排除

iptables在两台机器上都是禁用的。

 sudo docker -H 192.168.71.129:2375 run hello-world 

在工作。

sudo netstat -tunlp | grep dockerA输出上A sudo netstat -tunlp | grep docker

 tcp6 0 0 :::2375 :::* LISTEN 10363/docker 

在这篇文章中,我看到docker rest API有一个ping端点。 如果我使用echo -e "GET /_ping HTTP/1.1\r\n" | nc 192.168.71.129 2375B调用此端点 echo -e "GET /_ping HTTP/1.1\r\n" | nc 192.168.71.129 2375 ,我得到一个200 OK代码。 所以Enpoint是明确的。

你能给我一个提示,为什么B上的Docker客户端无法连接到A上的守护进程?

FYI

IP A 192.168.71.129

IP B 192.168.71.128

 user@ubuntu:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.4 LTS Release: 14.04 Codename: trusty 

A

 user@ubuntu:~$ docker -H 192.168.71.129:2375 version Client: Version: 1.11.2 API version: 1.23 Go version: go1.5.4 Git commit: b9f10c9 Built: Wed Jun 1 21:47:50 2016 OS/Arch: linux/amd64 Server: Version: 1.11.2 API version: 1.23 Go version: go1.5.4 Git commit: b9f10c9 Built: Wed Jun 1 21:47:50 2016 OS/Arch: linux/amd64 

B

 user@ubuntu:~$ docker -H 192.168.71.129:2375 version Client: Version: 1.11.2 API version: 1.23 Go version: go1.5.4 Git commit: b9f10c9 Built: Wed Jun 1 21:47:50 2016 OS/Arch: linux/amd64 Cannot connect to the Docker daemon. Is the docker daemon running on this host? 

一切都很好,除了代理设置… Docker使用systemproxy来解决IP的问题