我试图创建多个用户定义的网桥网络。但似乎docker可以创建每台主机只有31个用户定义的网桥网络。所以,我可以增加超过31个网络在我的机器上?没有人知道我怎么能做到这一点,如何配置我的主机?谢谢你的时间!
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
4szc88ey2#
从Docker版本18.06开始,可以在守护程序配置中自定义分配范围,如下所示:第一个月
{ "default-address-pools": [ {"base": "172.17.0.0/16", "size": 24} ] }
此示例将创建/16范围之外的/24子网池,从而将网桥网络限制从31增加到255。可以根据需要添加更多池。请注意,这将每个网络连接的container数限制为大约254。
/16
/24
u59ebvdq3#
您可以扩展网络限制编辑:/etc/docker/daemon.json:
/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.
sudo service docker restart
3条答案
按热度按时间nnsrf1az1#
看一看this:
这是因为它使用宽网络范围的硬编码列表- 172.17-31.x.x/16和192.168.x.x/20 -作为网桥网络驱动程序。
您可以通过为创建的每个网络手动指定子网来解决此问题:
4szc88ey2#
从Docker版本18.06开始,可以在守护程序配置中自定义分配范围,如下所示:
第一个月
此示例将创建
/16
范围之外的/24
子网池,从而将网桥网络限制从31增加到255。可以根据需要添加更多池。请注意,这将每个网络连接的container数限制为大约254。u59ebvdq3#
您可以扩展网络限制编辑:
/etc/docker/daemon.json
:(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.