2015-10-21 116 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