转自http://www.cnblogs.com/exnihilo/p/4891346.html
由于Boot2Docker的存在,造成了三层Mac->VirtualBox->Docker网络,由VirtualBox到Docker的映射可以通过run容器的时候指定-p参数实现,而从宿主机到VirtualBox端口映射需要通过下述方法实现:
查询虚拟机网络:
VBoxManagelistvms查询虚拟机网络状态,默认虚拟机名为′default′ VBoxManage showvminfo “default” | grep NIC
2.关闭运行中的虚拟机
由于Boot2Docker会自动运行VirtualBox中的虚拟机,所以在设置网络映射时必须先关闭运行中的虚拟机。否则,将出现The machine ‘boot2docker’ is already locked for a session (or being unlocked)的错误提示$ VBoxManage controlvm "default" poweroff
修改虚拟机与Mac系统的网络映射
根据实际需要进行网络映射,其中- rulename: 自定义规则名称
- hostip: Mac访问地址,可不填
- hostport: Mac映射端口
- guestip: 虚拟机访问地址,可不填
guestport: 虚拟机映射端口
$ VBoxManage modifyvm “dufault” –natpf1 “,