a hidden gem in docker 18.06 – define your base CIDR for networks

Where you ever annoyed by the CIDR ranges used when a docker network was created without any further ipam spec (eg. in docker-compose.yaml)?

There is something hidden in the PR https://github.com/moby/moby/pull/36396: You are able to set the subnet CIDR from where docker networks are supposed to be created, plus you are able to define the size of the subnet,

Since I am a big fan of the carrier grade NAT segment (it’s huuuge  and a cool alternative to and it’s a private network.

So what needs to be done is running dockerd like

dockerd --default-address-pool base=,size=26

or you’ll add something like this to your daemon.json file

"fixed-cidr": "",
{"base": "", "size": 26}

Notice the plural in the json file – it took me quite a while to add the plural 😉

Unfortunately, this cannot be found in the official dockerd documentation up until now. I just found it as a PR comment (see here).