我如何为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/

10-16 18:30