更改Docker自定义networking的默认子网

我们的内部networking内部保留172.20.0.0/16范围,docker默认使用内部networking172范围。 通过向守护进程提供bip设置,我可以将桥重置为192.168。

 ➜ ~ sudo cat /etc/docker/daemon.json { "bip": "192.168.2.1/24" } ➜ ~ ifconfig docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.2.1 netmask 255.255.255.0 broadcast 0.0.0.0 

但是,当通过docker network create新的自定义networking或通过在docker-compose.yamlnetworks部分中定义它们时,它们仍然在172中创build,因此最终与172.20冲突:

 ➜ ~ docker network create foo 610fd0b7ccde621f87d40f8bcbed1699b22788b70a75223264bb14f7e63f5a87 ➜ ~ docker network inspect foo | grep Subnet "Subnet": "172.17.0.0/16", ➜ ~ docker network create foo1 d897eab31b2c558517df7fb096fab4af9a4282c286fc9b6bb022be7382d8b4e7 ➜ ~ docker network inspect foo1 | grep Subnet "Subnet": "172.18.0.0/16", 

我知道我可以提供子网值的docker network create ,但我宁愿所有这样的子网创build在192.168.*

如何configurationdockerd自动执行此操作?

我刚刚发现,根据以下(仍然公开)拉请求,这仍然是不可能的: https : //github.com/moby/moby/pull/29376

如果你们知道的更好,我会非常乐意删除这个“答案”。