安裝
安裝官方文檔進行安裝
問題
然後執行啓動命令:
systemctl start docker
報錯,無法啓動,提示使用命令查看詳細日誌:
jouralctr -xe
或者手動啓動查看啓動過程
sudo dockerd
發現關鍵的一句話:
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
問題是docker創建網卡的IP地址可能被佔用,導致docker網卡無法創建
排查
執行命令查看路由表:
route -n
結果如下:
[root@4dim-test docker]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 218.18.153.129 0.0.0.0 UG 101 0 0 eth1
10.0.0.0 0.0.0.0 255.0.0.0 U 100 0 0 eth0
172.16.0.0 10.0.0.253 255.240.0.0 UG 0 0 0 eth0
192.168.0.0 10.0.0.253 255.255.0.0 UG 0 0 0 eth0
218.18.153.128 0.0.0.0 255.255.255.192 U 101 0 0 eth1
172.16的網段被佔用,網絡上有人提供的解決方案是刪除該條路由,但是對於我的這個服務器這條路由是不能刪除的,所以另外尋找其他方案。
解決
這篇文章有提到解決方案:
手動創建docker網卡,執行如下兩條命令:
ip link add name docker0 type bridge
ip addr add dev docker0 172.1.0.1/16