2015-10-21 119 views
1

我是码头工人。现在我遇到一些问题,谁能帮助我?设置网络后运行docker

我想用macvlan运行一个容器。 在我的情况下,我将首先运行一个容器--net=none。 然后使用ip命令配置网络(或在python中使用netns)。 的顺序是:

  1. 运行的容器
  2. 运行内部应用程序容器
  3. 设置网络

我的问题是,如何建立完善的网络环境。 然后运行该应用程序。 的顺序是:

  1. 运行的容器
  2. 设置网络
  3. 内泊坞窗

也许我可以在文件上写的网络配置脚本和其他的东西之前运行

  • 运行的应用程序Dockerfile。但是通过这种方式,网络和容器的耦合度非常高,而且我需要每次手动对每个容器进行编辑。

    那么有没有更好的方法来处理这种情况? thx提前。

  • 回答

    2

    docker run的参数--net=container与其他容器共享容器的网络名称空间。

    因此,您可以首先启动一个容器,其中包含--net=none和用于设置网络的脚本,然后启动您的应用程序容器,使用--net=network_container以使用该网络堆栈。这将保持网络配置和应用程序解耦。

    另外,如果您还没有,请查看pipework项目。

    总体而言,我建议您最好查看现有的解决方案,如WeaveProject Calico