安装网络

时间:2015-10-21 03:52:05

标签: docker

我是码头工人的新手。现在我遇到了一些问题,有人可以帮助我吗?

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

  1. 运行容器
  2. 在容器内运行app
  3. 设置网络
  4. 我的问题是如何首先设置网络。 然后运行应用程序。 顺序是:

    1. 运行容器
    2. 设置网络
    3. 在docker中运行app
    4. 也许我可以在文件上编写网络配置脚本并在Dockerfile上的其他内容之前运行它。但是通过这种方式,网络和容器是高度耦合的,我需要每次手动为每个容器编辑它。

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

1 个答案:

答案 0 :(得分:2)

--net=container的{​​{1}}参数与另一个容器共享容器的网络名称空间。

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

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

总的来说,我建议您最好不要查看WeaveProject Calico等现有解决方案。