Docker限制用户定义的网桥网络

kd3sttzy  于 2022-12-29  发布在  Docker
关注(0)|答案(3)|浏览(147)

我试图创建多个用户定义的网桥网络。但似乎docker可以创建每台主机只有31个用户定义的网桥网络。所以,我可以增加超过31个网络在我的机器上?没有人知道我怎么能做到这一点,如何配置我的主机?谢谢你的时间!

nnsrf1az

nnsrf1az1#

看一看this
这是因为它使用宽网络范围的硬编码列表- 172.17-31.x.x/16和192.168.x.x/20 -作为网桥网络驱动程序。
您可以通过为创建的每个网络手动指定子网来解决此问题:

for net in {1..50} 
do 
  docker network create -d bridge --subnet=172.18.${net}.0/24 net${net}
done
4szc88ey

4szc88ey2#

从Docker版本18.06开始,可以在守护程序配置中自定义分配范围,如下所示:
第一个月

{
  "default-address-pools": [
    {"base": "172.17.0.0/16", "size": 24}
  ]
}

此示例将创建/16范围之外的/24子网池,从而将网桥网络限制从31增加到255。可以根据需要添加更多池。请注意,这将每个网络连接的container数限制为大约254。

u59ebvdq

u59ebvdq3#

您可以扩展网络限制编辑:/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
        }
    ]
}

(add参数(如果不存在),则sudo service docker restart
前两个是default docker address pools,,最后一个是private network中的一个
With this change you have additionally 255 networks. New containers attach to new address pool 10.99.0.0/16.

相关问题