加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

网络-如何更改Docker默认子网大小?

发布时间:2020-12-16 03:25:10 所属栏目:安全 来源:网络整理
导读:我想知道在没有任何参数的情况下创建网络时是否有任何方法可以影响默认子网大小和使用的地址池. 重现问题的步骤: 1)使用Docker获得新的VM(在我的情况下为Ubuntu 16.04,Docker 1.12.3) 2)尝试创建50个网络: for i in {1..50}; do docker network create net

我想知道在没有任何参数的情况下创建网络时是否有任何方法可以影响默认子网大小和使用的地址池.

重现问题的步骤:
1)使用Docker获得新的VM(在我的情况下为Ubuntu 16.04,Docker 1.12.3)
2)尝试创建50个网络:

  for i in {1..50}; do docker network create net-$i; done

在某个时候,您将开始出现错误
3)查看结果:

for i in $(docker network ls -q); do docker network inspect --format='{{.Name}} {{.IPAM.Config}}' $i; done

输出如下:

net-1 [{172.18.0.0/16  172.18.0.1/16 map[]}]
net-2 [{172.19.0.0/16  172.19.0.1/16 map[]}]
net-3 [{172.20.0.0/16  172.20.0.1/16 map[]}]
net-4 [{172.21.0.0/16  172.21.0.1/16 map[]}]
net-5 [{172.22.0.0/16  172.22.0.1/16 map[]}]
net-6 [{172.23.0.0/16  172.23.0.1/16 map[]}]
net-7 [{172.24.0.0/16  172.24.0.1/16 map[]}]
net-8 [{172.25.0.0/16  172.25.0.1/16 map[]}]
net-9 [{172.26.0.0/16  172.26.0.1/16 map[]}]
net-10 [{172.27.0.0/16  172.27.0.1/16 map[]}]
net-11 [{172.28.0.0/16  172.28.0.1/16 map[]}]
net-12 [{172.29.0.0/16  172.29.0.1/16 map[]}]
net-13 [{172.30.0.0/16  172.30.0.1/16 map[]}]
net-14 [{172.31.0.0/16  172.31.0.1/16 map[]}]
net-15 [{192.168.0.0/20  192.168.0.1/20 map[]}]
net-16 [{192.168.16.0/20  192.168.16.1/20 map[]}]
net-17 [{192.168.32.0/20  192.168.32.1/20 map[]}]
net-18 [{192.168.48.0/20  192.168.48.1/20 map[]}]
net-19 [{192.168.64.0/20  192.168.64.1/20 map[]}]
net-20 [{192.168.80.0/20  192.168.80.1/20 map[]}]
net-21 [{192.168.96.0/20  192.168.96.1/20 map[]}]
net-22 [{192.168.112.0/20  192.168.112.1/20 map[]}]
net-23 [{192.168.128.0/20  192.168.128.1/20 map[]}]
net-24 [{192.168.144.0/20  192.168.144.1/20 map[]}]
net-25 [{192.168.160.0/20  192.168.160.1/20 map[]}]
net-26 [{192.168.176.0/20  192.168.176.1/20 map[]}]
net-27 [{192.168.192.0/20  192.168.192.1/20 map[]}]
net-28 [{192.168.208.0/20  192.168.208.1/20 map[]}]
net-29 [{192.168.224.0/20  192.168.224.1/20 map[]}]
net-30 [{192.168.240.0/20  192.168.240.1/20 map[]}]

因此,Docker使用带有网络掩码的RFC1918网络172.16 / 12和192.168 / 16,将两个网络划分为16个子网.

我想知道是否有任何方法可以影响这种行为.
我在CI管道中使用docker-compose部署应用程序,我强烈希望避免在docker-compose.yml文件中对网络进行硬编码,因为这会破坏其可移植性.

最佳答案
看起来当docker-ce v18.06登陆时它将可用,您将能够使用以下行编辑/etc/docker/daemon.json守护程序设置:

{
??“默认地址池”:[
????{“基本”:“ 172.80.0.0/16”,“尺寸”:24},{“基本”:“ 172.90.0.0/16”,“尺寸”:24}
??]
}

有关更多信息,请参见Merged PR#36396 on GitHub.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读