转自http://www.cnblogs.com/exnihilo/p/4891346.html

由于Boot2Docker的存在,造成了三层Mac->VirtualBox->Docker网络,由VirtualBox到Docker的映射可以通过run容器的时候指定-p参数实现,而从宿主机到VirtualBox端口映射需要通过下述方法实现:

  1. 查询虚拟机网络:
    VBoxManagelistvmsdefault VBoxManage showvminfo “default” | grep NIC
    2.关闭运行中的虚拟机
    由于Boot2Docker会自动运行VirtualBox中的虚拟机,所以在设置网络映射时必须先关闭运行中的虚拟机。否则,将出现The machine ‘boot2docker’ is already locked for a session (or being unlocked)的错误提示

    $ VBoxManage controlvm "default" poweroff
    
  2. 修改虚拟机与Mac系统的网络映射
    根据实际需要进行网络映射,其中

    • rulename: 自定义规则名称
    • hostip: Mac访问地址,可不填
    • hostport: Mac映射端口
    • guestip: 虚拟机访问地址,可不填
    • guestport: 虚拟机映射端口

      $ VBoxManage modifyvm “dufault” –natpf1 “,

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐