能被其他物理主机访问的VM 一般使用 NAT port forwarding 或者 bridged adapter。NAT
forwarding 设置不方便,需要预先设置,使用不灵活。这里讲一下 如何在VitualBox简单的设置 bridged
adapter。
首先,要点是把 VitualBox 网络中第二块网卡改成 bridge 模式。VirtualBox中第二块网卡在 ifconfig
中显示为eth1, docker-machine 与 eth1 进行通信。
注意:这时候不要再用docker-machine start vm_name,
启动VM,否者设置会被复原。应该直接用VirtualBox启动虚拟机。
可以通过以下方式验证
- 网卡Mac 与名称,
- 查看
.docker\machine\machines\vm_name\vm_name.vbox #这是一个xml文件
然后,
- restart VM
- docker-machine regenerate-certs VM_name
- eval "$(docker-machine env VM_name)"
- docker-machine ip VM_name
注意:udev的方式不好使,在boot2docker的镜像中,没有/etc/udev/rules.d/70-persistent*.rules,
写了也不能保存。
你要问我怎么找到的,这是经过多次google,baidu,
学习原理然后实践,摸索,尝试后的发现。