如何在 docker libnetwork 中使用 Openvswitch 网桥作为网桥驱动程序
how to use Openvswitch bridge as bridge driver in docker libnetwork
我正在为 docker 网络使用 libnetwork。 Libnetwork 有不同的网络潜水员。空,桥接,覆盖,远程。在网桥驱动程序 libnetwork 中,在主机内部创建一个网桥,以便容器可以连接到它。当我们在 libnetwork 中使用网桥驱动程序时,它会创建 linux 个网桥。
我的问题是如何用 openvswitch(OVS) 替换 linux 网桥。
这是我在 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)
}
解决方案。我找到了解决方案。我不必使用上面提到的代码。要在 docker 命令中使用 --net=ovs 功能,我们必须发布 ovs 作为我们新插件的名称。我在这个 github 页面上找到了解决方案,他们在那里创建了两个新容器。一个容器用于 OVS 包,另一个容器用于 ovs 插件。
我正在为 docker 网络使用 libnetwork。 Libnetwork 有不同的网络潜水员。空,桥接,覆盖,远程。在网桥驱动程序 libnetwork 中,在主机内部创建一个网桥,以便容器可以连接到它。当我们在 libnetwork 中使用网桥驱动程序时,它会创建 linux 个网桥。 我的问题是如何用 openvswitch(OVS) 替换 linux 网桥。
这是我在 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)
}
解决方案。我找到了解决方案。我不必使用上面提到的代码。要在 docker 命令中使用 --net=ovs 功能,我们必须发布 ovs 作为我们新插件的名称。我在这个 github 页面上找到了解决方案,他们在那里创建了两个新容器。一个容器用于 OVS 包,另一个容器用于 ovs 插件。