Problem
Can I install docker on a Spinup linux host? And how do I resolve Docker IPRange Conflicts?
Solution
dockerd and docker-compose IPRange conflicts
Dockerd and docker-compose by default use the 172.17.x.x IP space, which conflicts with important Yale campus resources, including the Yale VPN.
If using the Docker official repo, it will have created a docker0 interface with a 172.17.x.x interface, e.g.
$ netstat -nr | grep '172.17'
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
This overlaps with campus Yale networks, and causes routing to fail. The fix is to change the default network used by the Docker interface and docker-compos.
$ sudo su -
$ cat << EOF >> /etc/docker/daemon.json
{
"bip": "10.221.31.1/24",
"fixed-cidr": "10.221.31.1/25"
"default-address-pools": [
{"base":"10.222.0.0/16", "size":24}
]
}
EOF
$ systemctl restart docker
You may need to reboot your Spinup virtual machine to clear any lingering entries in the system's network routing table in order for the fix to take effect.
references:
- https://docs.docker.com/v17.09/engine/userguide/networking/default_network/custom-docker0/
- https://serverfault.com/questions/916941/configuring-docker-to-not-use-the-172-17-0-0-range
Related articles