Vagrant 如何访问虚拟机箱中的不同boot2docker实例

Vagrant 如何访问虚拟机箱中的不同boot2docker实例,vagrant,virtual-machine,virtualbox,boot2docker,Vagrant,Virtual Machine,Virtualbox,Boot2docker,我在virtual box中创建了两个boot2docker实例: “boot2docker vm”{8674bb87-b7ba-4179-9a09-c779611b1d9a} “boot2docker工作”{53ffd6d6-2fc4-4c4f-b34e-c2f8dd87dd40} 它们使用不同的boot2docker.iso和不同的配置文件 第一个虚拟机是默认的,因此如果您在虚拟机外部运行“docker映像”,它将默认使用第一个虚拟机 但是如何访问第二个boot2docker“boot2do

我在virtual box中创建了两个boot2docker实例:

“boot2docker vm”{8674bb87-b7ba-4179-9a09-c779611b1d9a}

“boot2docker工作”{53ffd6d6-2fc4-4c4f-b34e-c2f8dd87dd40}

它们使用不同的boot2docker.iso和不同的配置文件

第一个虚拟机是默认的,因此如果您在虚拟机外部运行“docker映像”,它将默认使用第一个虚拟机

但是如何访问第二个boot2docker“boot2docker work”,我知道“boot2docker ssh”可以工作,但我想在虚拟机之外运行docker命令

我尝试为第二个vm设置DOCKER_主机和ca、cert,但出现以下错误: 尝试连接时出错:Get:拨号tcp 192.168.59.110:2376:i/o超时

有什么想法吗?

好的,我找到了解决办法

当我们创建一个VM时,它会用IP连接到一个vboxnet,如果IP是192.168.59.103,它会将192.168.59添加到路由表中

192.168.58链接#10 UC 3 0 vboxnet

然后如果我们启动vm,192.168.58.103将被添加到具有正确网关的路由表中:

192.168.58.103 8:0:27:1e:d1:24 UHLWI 0 3120 vboxnet 210

但是,如果我们创建另一个ip为192.168.58.104的vm,那么它将没有正确的网关:

192.168.58.104链接#10 UC 3 0 vboxnet

这使得虚拟机无法工作

所以我的解决方案是,使用192.168.59或192.168.60,然后所有问题都消失了

但有人能解释一下这种路由机制吗