【问题标题】:Unable to connect Vagrant machine to bridged network无法将 Vagrant 机器连接到桥接网络
【发布时间】:2017-06-20 06:29:50
【问题描述】:

我的主机上运行了多个 docker 容器,默认情况下,所有这些容器都可以通过 Docker 自动创建的名为 docker0 的桥接网络中的主机名(即容器名称)访问。

除了 docker 容器,我还有两个使用 Vagrant 创建的虚拟机。我想将这两个虚拟机添加到 docker 中,这样它们就可以在没有端口转发的情况下与 docker 容器通信。

这是我为一台虚拟机配置的 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

这是 vagrant up 的输出:

==> 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)

你能解释一下是什么问题吗? 谢谢。

【问题讨论】:

    标签: docker vagrant virtual-machine virtualbox


    【解决方案1】:

    172.17.0.1 始终被归类为私有内部 IP 地址。这就像在您的 VM 中点击 localhost/127.0.0.1 并期望点击主机。

    你可以做任何你想做的事,this 链接非常清楚。

    【讨论】:

      猜你喜欢
      • 2014-06-23
      • 1970-01-01
      • 2012-07-11
      • 2018-10-15
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      • 2019-04-26
      • 1970-01-01
      相关资源
      最近更新 更多