如何为boot2docker docker容器进行专用网络连接?
例如,如果我有一个webapp,我可以在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"
然后我可以使用我的浏览器访问我的webapp
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不存在
我看了https://docs.docker.com/articles/networking
该教程不适用于mac中的boot2docker。
任何帮助都会受到赞赏,谢谢你!
答案 0 :(得分:3)
我相信从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地址。