Exacactly the same issue as Failed to start Docker Container Engine, as I'm getting dockerd failed to start daemon: Error initializing network controller: list bridge addresses failed: PredefinedLocalScopeDefaultNetworks List no available network
:
$ journalctl -xeu docker.service | grep 'failed to start daemon'
Nov 23 21:56:08 myhost dockerd[525139]: failed to start daemon: Error initializing network controller: list bridge addresses failed: PredefinedLocalScopeDefaultNetworks List: [172.17.0.0/16 172.18.0.0/16 172.19.0.0/16 172.20.0.0/16 172.21.0.0/16 172.22.0.0/16 172.23.0.0/16 172.24.0.0/16 172.25.0.0/16 172.26.0.0/16 172.27.0.0/16 172.28.0.0/16 172.29.0.0/16 172.30.0.0/16 172.31.0.0/16 192.168.0.0/20 192.168.16.0/20 192.168.32.0/20 192.168.48.0/20 192.168.64.0/20 192.168.80.0/20 192.168.96.0/20 192.168.112.0/20 192.168.128.0/20 192.168.144.0/20 192.168.160.0/20 192.168.176.0/20 192.168.192.0/20 192.168.208.0/20 192.168.224.0/20 192.168.240.0/20]: no available network
But that solution doesn't work for me.
And I've found out the reason is that there is no --bip
flag any more to docker:
/usr/bin/docker daemon --debug --bip=192.168.0.0/20
unknown flag: --bip
See 'docker --help'.
What I found works is:
ip link add name docker0 type bridge
ip addr add dev docker0 172.17.0.1/16
systemctl daemon-reload
systemctl start docker
However, I believe such change won't be persistent over reboot, thus need a permanent solution.
docker0
link. Subsequentsystemctl restart docker
s just worked, even if I deleted the link. So I dunno. I don't claim to understand what to put in thedaemon.json
config file, but you may find more useful context in this GitHub issue.