Docker 限制用户定义的桥接网络
Docker limit user-defined bridge networks
我正在尝试创建许多用户定义的桥接网络。但似乎 docker 只能为每个主机创建 31 个用户定义的桥接网络。那么,我可以为我的机器增加超过 31 个网络吗?没有人知道我该怎么做,如何配置我的主机?谢谢你的时间...^^
看看this:
This is due to the fact that it uses hardcoded list of broad network ranges – 172.17-31.x.x/16 and 192.168.x.x/20 – for bridge network driver.
您可以通过为每个创建的网络手动指定子网来解决此问题:
for net in {1..50}
do
docker network create -d bridge --subnet=172.18.${net}.0/24 net${net}
done
自 Docker 版本 18.06 以来,可以在 daemon configuration 中自定义分配范围,如下所示:
/etc/docker/daemon.json
{
"default-address-pools": [
{"base": "172.17.0.0/16", "size": 24}
]
}
此示例将创建 /24
个超出 /16
范围的子网池,将网桥网络限制从 31 增加到 255。可以根据需要添加更多池。请注意,这将每个网络连接的容器数量限制为大约 254 个。
你可以扩展网络限制编辑:/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
}
]
}
(如果不存在则添加参数),然后sudo service docker restart
前两个是default docker address pools, last is one of the private network
通过此更改,您还有 255 个网络。新容器附加到新地址池 10.99.0.0/16.
我正在尝试创建许多用户定义的桥接网络。但似乎 docker 只能为每个主机创建 31 个用户定义的桥接网络。那么,我可以为我的机器增加超过 31 个网络吗?没有人知道我该怎么做,如何配置我的主机?谢谢你的时间...^^
看看this:
This is due to the fact that it uses hardcoded list of broad network ranges – 172.17-31.x.x/16 and 192.168.x.x/20 – for bridge network driver.
您可以通过为每个创建的网络手动指定子网来解决此问题:
for net in {1..50}
do
docker network create -d bridge --subnet=172.18.${net}.0/24 net${net}
done
自 Docker 版本 18.06 以来,可以在 daemon configuration 中自定义分配范围,如下所示:
/etc/docker/daemon.json
{
"default-address-pools": [
{"base": "172.17.0.0/16", "size": 24}
]
}
此示例将创建 /24
个超出 /16
范围的子网池,将网桥网络限制从 31 增加到 255。可以根据需要添加更多池。请注意,这将每个网络连接的容器数量限制为大约 254 个。
你可以扩展网络限制编辑:/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
}
]
}
(如果不存在则添加参数),然后sudo service docker restart
前两个是default docker address pools, last is one of the private network
通过此更改,您还有 255 个网络。新容器附加到新地址池 10.99.0.0/16.