我如何为boot2docker docker容器进行私有(private)网络连接?
例如,如果我有一个Web应用程序,则可以在Vagrantfile中执行以下操作
myapp1.vm.network "private_network", ip: "1.2.3.4"
myapp2.vm.network "private_network", ip: "1.2.3.5"
myapp3.vm.network "private_network", ip: "1.2.3.6"
然后,我可以使用浏览器访问以下位置的Web应用程序:
http://1.2.3.4
http://1.2.3.5
http://1.2.3.6
如何在docker中轻松实现相同结果?
我也看着How to expose docker container's ip and port to outside docker host without port mapping?
但是在我的boot2docker1.3中,它说eth0:1接口(interface)不存在
我看着https://docs.docker.com/articles/networking
本教程不适用于Mac中的boot2docker。
任何帮助,将不胜感激,谢谢!
最佳答案
我相信here链接的this question指令会为您提供所需的信息。关键是这一行:
sudo route -n add 172.17.0.0/16 172.16.0.11
告诉您的Mac如何将Docker容器路由到VirtualBox VM内的专用网络。 (显然,具体地址可能会因您的具体情况而改变)
这仍然不能让您将特定的IP地址分配给特定的容器。正如我所说的,像weave这样的插件可以做到这一点。 (注:我从事编织)
您可能还喜欢this article,它为Boot2Docker的运行方式提供了初学者的概述,并说明了VirtualBox VM内的IP地址以及整个盒子的IP地址。
关于vagrant - Boot2Docker专用网络设置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26727772/