我可以使用VirtualBox驱动程序创建Docker实例,但无法弄清楚如何指定URL。

创建命令:

docker-machine create --driver virtualbox myBox

docker-machine ls:
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM
myBox     *        virtualbox   Running   tcp://192.168.99.100:2376

我希望该URL是一个特定的URL。如何强制Docker实例使用特定的URL(例如:192.168.99.113)?

详细信息:使用Docker Toolbox的 Mac 10.10.5

更新资料

我尝试使用--virtualbox-hostonly-cidr命令设置docker机器的IP范围;我指定了一个IP地址范围(“192.168.99.113/32”),但是创建的计算机的IP地址为192.168.99.100,超出了我提供的范围。

甚至可以设置具有特定IP地址的docker机器吗?

最佳答案

前段时间我们遇到了同样的问题,试图在docker机器上更改默认的docker IP,我们发现只有两种方法。

  • 您可以调用docker machine的create命令来创建带有flag的Docker实例
    --virtualbox-hostonly-cidr "192.168.99.1/24"
    该标志设置了一个地址范围,可以为Docker实例设置该地址范围。不保证,您得到想要的地址
  • 您可以更改虚拟机的网络设置,并为其保留NAT和端口转发功能,从而使Docker实例像在主机OS上一样运行。

  • 当然,第一个是标准方法,似乎是更可取的。但是在某些情况下,第二个也可能有用。

    更新:
    有一个开放的feature request用于为docker计算机指定静态IP。因此,很遗憾,现在无法执行此操作。仅--virtualbox-hostonly-cidr属性,但必须提供低于29的CIDR前缀才能起作用(已针对Win版本进行了测试)。或看看this comment,其中显示了如何通过配置Virtual Box在OS X上实现它,例如:
    $ VBoxManage dhcpserver modify --ifname vboxnet0 --disable
    $ VBoxManage dhcpserver modify --ifname vboxnet0 --ip 192.168.59.3 --netmask 255.255.255.0 --lowerip 192.168.59.103 --upperip 192.168.59.203
    $ VBoxManage dhcpserver modify --ifname vboxnet0 --enable
    $ docker-machine create --driver "virtualbox" --virtualbox-cpu-count "-1" --virtualbox-disk-size "30000" --virtualbox-memory "2560" --virtualbox-hostonly-cidr "192.168.59.3/24" dev
    

    关于docker - 如何使用docker-machine和VirtualBox创建具有特定URL的docker机器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32639765/

    10-12 22:21
    查看更多