如何在一台服务器上增加最大 Docker 网络?

Cuo*_*ran 9 docker docker-compose docker-networking

在我的电脑中,我可以创建更多的最大值 29 Docker Network,就像那样。

for num in `seq -w 100`; do
    echo "Create network: $num"
    docker network create $num
done
Run Code Online (Sandbox Code Playgroud)

创建 29 后Docker Network,出现错误:

Error response from daemon: failed to parse pool request for address space "LocalDefault" pool "" subpool "": could not find an available predefined netw
ork
Run Code Online (Sandbox Code Playgroud)

我的问题:如何在一台服务器上增加最大 Docker 网络?

因为我以前测试过很多docker-compose应该需要更多的网络。

谢谢你。

Get*_*toX 7

如果您想在不破坏现有容器/网络的情况下扩展网络限制,请编辑/etc/docker/daemon.json::

{
   "default-address-pools": [
        {
            "base":"172.17.0.0/12",
            "size":16
        },
        {
            "base":"192.168.0.0/16",
            "size":20
        },
        {
            "base":"10.99.0.0/16",
            "size":24
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

(如果不存在则添加值),然后sudo service docker restart

前两个是默认的docker地址池,最后一个是私有网络之一

通过此更改,您将额外拥有 255 个网络。新容器附加到新地址池 10.99.0.0。


Sre*_*eni 5

对于每个网络,docker 都会保留一个私有 IP 池并保留一个 IP 地址范围。

私有地址范围在此处定义(https://en.wikipedia.org/wiki/Private_network)。

Docker 使用以下池:

172.17.0.0/16 - 172.31.0.0/16 - 15

192.168.0.0/20 - 192.168.224.0/20 - 15

默认网桥网络占用 1。这就是为什么您看到限制为 29。此限制不适用于其他网络,如覆盖。

  • 问题是如何增加 docker 可用的最大网络数量,因此这不应该是公认的答案。 (6认同)