首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改Docker默认子网大小?

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

Stack Overflow用户
提问于 2016-12-07 15:10:49
回答 1查看 3.4K关注 0票数 5

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

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

代码语言:javascript
复制
  for i in {1..50}; do docker network create net-$i; done

在某一时刻,您将开始获得错误,参见结果:

代码语言:javascript
复制
for i in $(docker network ls -q); do docker network inspect --format='{{.Name}} {{.IPAM.Config}}' $i; done

输出情况如下:

代码语言:javascript
复制
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-组合来部署应用程序,并且我强烈希望避免在docker-come.yml文件中硬编码网络,因为它会破坏它的可移植性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-25 10:34:13

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

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

有关更多信息,请参见基于PR#36396的GitHub合并

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41020972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档