2016-02-11 73 views
0

我正在使用libnetwork進行docker網絡連接。 Libnetwork有不同的網絡潛水員。空,橋,覆蓋,遠程。在網橋驅動程序中,libnetwork在主機內部創建一個網橋,以便容器可以連接到網橋。當我們在libnetwork中使用橋接驅動程序時,它會創建linux網橋。 我的問題是如何用openvswitch(OVS)替換linux橋。如何在Docker libnetwork中使用Openvswitch橋作爲網橋驅動程序

這裏是我在libnetwork代碼中使用的代碼片段。

// Select and configure the network driver 
    networkType := "bridge" 
    controller, err := libnetwork.New(config.OptionDriverConfig(networkType,option)) 
    if err != nil { 
      log.Fatalf("libnetwork.New: %s", err) 
     } 

// Create a network for containers to join. 
network, err := controller.NewNetwork(networkType, "network1") 
    if err != nil { 
      log.Fatalf("controller.NewNetwork: %s", err) 
     } 

回答

0

解決方案。我找到了解決方案。我不必使用上面提到的代碼。要在docker命令中使用--net = ovs功能,我們必須將ovs作爲我們新插件的名稱發佈。我在這個github頁面上找到了解決方案,他們在這裏創建兩個新的容器。一個容器用於OVS包裝,另一個容器用於ovs插件。

代碼和說明:https://github.com/gopher-net/docker-ovs-plugin