Any network defined in RCF1918 should not be used. This may cause routing issue if you are trying to access resources with an IP which falls in that range.
169.254.0.0/16 is a network which will never be routed within any network (i hope not)
I'm may be wrong here, but isn't 172.16-172.31 reserved for private networks, which is what docker is effectively creating in its containers' networks? If you can point me to where this is a problem it would be great, but since docker also uses 10.* and 127.168.* nets I think this is intentional. The container internal network is forwarded to the host network.
Private Address Space
The Internet Assigned Numbers Authority (IANA) has reserved the
following three blocks of the IP address space for private internets:10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
This PR will allow to specify the IP pools: https://github.com/docker/libnetwork/pull/2058
@GordonHarley You asked where this could be a problem. In a companies network, could this be a problem, if they using 172.16/12.
Do not use the first or last subnet, this RFC defines permitted use:
I ran into this issue at my local library. The wifi network required getting redirected to a page where you accept their terms of use, and the internal DNS pointed me at 172.17.76.190 for that page, which conflicted with the default docker networking. Putting a non-conflicting IP range into /etc/docker/daemon.json and restarting docker fixed the issue for me:
{
"bip": "172.26.0.1/16"
}
@knkski In my experience, this setting only sets the IP of the default Docker bridge interface. It doesn't prevent Docker from using 172.17.0.0/16 for another bridge ...
Are there any news on this proposal ? I'd also be interested in having Docker use another subnet than 172.17.0.0/16.
Using 169.254.0.0/16 seems like a good idea, even though I agree with @GordonHarley 's comment. I'm not enough of a network guru to know the right thing to do.
I think the choice of private network CIDR for docker0 by docker should by dynamic and detect overlap with the LAN and WLAN interfaces, I see too many legacy and frankly dated WLAN network that reuses 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) Many cases if we do docker training and we find the WLAN DHCP range overlaps with local docker network, then it's a big no no as we can't have new people learning docker having to edit the /etc/docker/daemon.jsonfile just to avoid the issue.

I would like to see this some what solved as it becomes a blocker for less away when starting with docker
Most helpful comment
@GordonHarley You asked where this could be a problem. In a companies network, could this be a problem, if they using 172.16/12.