Docker IP Pool Planning Guide
Why Docker's Default Bridge Conflicts with VPNs
Docker's default bridge network uses 172.17.0.0/16 for the docker0 interface and assigns subnets from the 172.16.0.0/12 range for user-defined networks. Corporate VPNs (Cisco AnyConnect, Palo Alto GlobalProtect, OpenVPN, WireGuard) frequently use the same RFC 1918 ranges. When a VPN assigns you an IP like 172.17.5.10 from the corporate network, and Docker simultaneously assigns 172.17.0.2 to a container, your operating system's routing table becomes ambiguous. Traffic destined for the container may be sent into the VPN tunnel, and VPN traffic may be intercepted by a container.
This causes symptoms like: containers can't reach the internet, VPN disconnects when Docker starts, curl from inside a container hangs indefinitely, and docker run succeeds but the container is unreachable. The fix is to reconfigure Docker's default address pools to use a range that doesn't conflict with your VPN or LAN — and this calculator does exactly that in seconds.
How Docker's default-address-pools Work
Docker's default-address-pools configuration (introduced in Docker 18.06+) allows you to define the IP range from which Docker automatically allocates subnets for user-defined bridge networks (created with docker network create or docker-compose). The configuration has two parts: base — the overall CIDR block to draw from, and size — the subnet mask for each individual network.
For example, base: 172.31.0.0/16, size: 24 means Docker will carve /24 subnets out of 172.31.0.0/16, creating networks like 172.31.0.0/24, 172.31.1.0/24, 172.31.2.0/24, etc. The bip setting defines the subnet for the default docker0 bridge. These two settings together replace the old fixed 172.17.0.0/16 default.
RFC 1918 Private IP Ranges Reference
| CIDR Block | IP Range | Total IPs | Common Use |
|---|---|---|---|
| 10.0.0.0/8 | 10.0.0.0 – 10.255.255.255 | 16,777,216 | Large corporate VPNs, AWS VPCs |
| 172.16.0.0/12 | 172.16.0.0 – 172.31.255.255 | 1,048,576 | Docker default, VPNs, internal networks |
| 192.168.0.0/16 | 192.168.0.0 – 192.168.255.255 | 65,536 | Home routers, small office LANs |
| 100.64.0.0/10 | 100.64.0.0 – 100.127.255.255 | 4,194,304 | Tailscale, CGNAT, ISP carrier-grade NAT |