用例运行非网络类型的docker容器

问题描述 投票:1回答:2

我知道docker没有网络类型,没有为容器分配IP地址,除了loopback接口外没有创建网络接口。

我想知道我们可以使用none网络类型的任何用例,我的意思是在哪种情况下我们需要运行没有IP或接口的容器。

我曾提到过这个question,但它没有回答我们可以使用它的确切用法。

docker networking
2个回答
1
投票

首先,如weaveworks/weave issue 1394所述:

--net=none的含义尚不清楚。它可能意味着“根本没有网络”(在这种情况下也应该禁用编织网络),或者“没有Docker网络”(这是我在这里选择的解释)。

这就是wave network正在做的事情:

我们用--net=none创建一个网络命名空间,注入weave接口,然后启动实际的容器。 我们还在具有外部连接的编织网络中运行默认网关。

我们这样做的原因是服务倾向于绑定到错误的接口。在容器启动之前创建单个接口非常重要。

您找到了与qazxsw poi类似的用例;

本教程描述了如何在没有Docker网络的Docker环境中设置Calico集群(即Calico)。

使用此选项,Docker会创建一个具有自己的网络堆栈的容器,但不会采取任何步骤来配置其网络。 在本教程中,我们使用–net=none命令行工具将容器添加到Calico网络中,而不是让Docker配置网络:将所需的接口和路由添加到容器中,并使用正确的端点信息配置Calico。


1
投票

谢谢@VonC我从你的回答中得到了一个想法。

似乎docker calicoctl网络类型被其他网络插件(如印花布,编织等)用于提供自己的网络堆栈。

Docker网络模型基于CNM(容器网络模型),而另一种模型称为CNI(容器网络接口),网络分布如calico,weave等使用。

我猜这些网络插件(使用CNI模型的网络插件)使用none网络类型,以便创建一个没有网络的容器,这些CNI插件提供了自己的网络。

© www.soinside.com 2019 - 2024. All rights reserved.