我的主机上运行了多个docker容器,默认情况下,所有这些容器都可以通过Docker自动创建的名为docker0的桥接网络中的hostname(容器名称)访问。
除了docker容器之外,我还有两个使用Vagrant创建的VM。我想将这两个VM添加到docker中,这样他们就可以在没有端口转发的情况下与docker容器进行通信。
这是我对一个VM的Vagrant配置:
config.vm.define :master1 do |m1|
m1.vm.hostname = "master1.mycluster"
# m1.vm.network :private_network, ip: "192.168.0.12"
m1.vm.network :public_network, bridge:"docker0"
m1.vm.provider :virtualbox do |vb|
vb.memory = "4596"
end
end
这是流浪者的输出:
==> master1: Attempting graceful shutdown of VM...
==> master1: Checking if box 'bento/centos-6.7' is up to date...
==> master1: Clearing any previously set forwarded ports...
==> master1: Fixed port collision for 22 => 2222. Now on port 2201.
==> master1: Clearing any previously set network interfaces...
==> master1: Preparing network interfaces based on configuration...
master1: Adapter 1: nat
master1: Adapter 2: bridged
==> master1: Forwarding ports...
master1: 22 (guest) => 2201 (host) (adapter 1)
==> master1: Running 'pre-boot' VM customizations...
==> master1: Booting VM...
==> master1: Waiting for machine to boot. This may take a few minutes...
master1: SSH address: 127.0.0.1:2201
master1: SSH username: vagrant
master1: SSH auth method: private key
master1: Warning: Remote connection disconnect. Retrying...
master1: Warning: Remote connection disconnect. Retrying...
master1: Warning: Remote connection disconnect. Retrying...
master1: Warning: Remote connection disconnect. Retrying...
master1: Warning: Remote connection disconnect. Retrying...
master1: Warning: Remote connection disconnect. Retrying...
==> master1: Machine booted and ready!
==> master1: Checking for guest additions in VM...
==> master1: Setting hostname...
==> master1: Configuring and enabling network interfaces...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
ARPCHECK=no /sbin/ifup eth1 2> /dev/null
Stdout from the command:
Determining IP information for eth1... failed.
Stderr from the command:
有关信息,这是我主机上的ifconfig:
docker0 Link encap:Ethernet HWaddr 02:42:68:a8:70:ec
inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:68ff:fea8:70ec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4274149 errors:0 dropped:0 overruns:0 frame:0
TX packets:3733889 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:543633116 (543.6 MB) TX bytes:2151487889 (2.1 GB)
请您解释一下这是什么问题? 谢谢。
答案 0 :(得分:0)
172.17.0.1始终被归类为私有内部IP地址。这就像在您的VM中点击localhost/127.0.0.1
并期望点击主机一样。
虽然可以做你想做的事情,this链接非常清楚。