无法从docker容器访问docker守护程序api

时间:2015-09-10 23:27:10

标签: networking docker vagrant virtualbox

我有使用docker守护程序运行的vagrant box,并且在同一个盒子上我运行了一个docker容器。

从docker容器,我正在尝试卷曲http://<IP-of-virtualbox>:2375/version,但它无法连接。获取消息connection refused

但是从主机我可以卷曲http://<IP-of-virtualbox>:2375/version,而不仅仅是容器。

1 个答案:

答案 0 :(得分:0)

您的泊坞窗容器不知道如何前往<IP-of-virtualbox-machine>。容器运行不同的子网,如果您使用的是最新版本的Docker,它应该与运行docker守护程序的VirtualBox VM上的docker0接口相同。

例如,此docker守护程序VirtualBox VM:

docker@default:~$ ifconfig
docker0   Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet addr:A.B.C.D  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: ffff::ff:ffff:ffff:ffff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:546 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1091 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:26832 (26.2 KiB)  TX bytes:2734357 (2.6 MiB)

和这个容器:

user@45b26c832418:~# ifconfig
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet addr:A.B.C.E  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: ffff::ff:ffff:ffff:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11 errors:0 dropped:2 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:926 (926.0 B)  TX bytes:598 (598.0 B)

您可以从容器中运行以下命令:

curl http://A.B.C.D:2375/status