現(xiàn)象
docker0 沒(méi)有 IP
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 02:42:fa:74:57:72 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
排查問(wèn)題
- 運(yùn)行
ifconfig docker0 172.17.0.1/16手動(dòng)配置 IP,命令執(zhí)行成功,但是docker0依舊沒(méi)有 IP - 給
dockerd增加啟動(dòng)參數(shù)--bip 172.18.0.1/16配置docker0的 IP,重啟 docker 服務(wù)后,docker0依舊沒(méi)有 IP - 停止 NetworkManager 服務(wù),重啟 docker 服務(wù),
docker0上有 IP
由此可以看出問(wèn)題的原因在于 NetworkManager 與 docker0 網(wǎng)卡有沖突。
解決方案
-
修改 NetworkManager 配置,在 keyfile section 中,增加
unmanaged-devices=interface-name:docker0,使 NetworkManager 忽略docker0網(wǎng)卡。[main] plugins=ifupdown,keyfile ... [keyfile] unmanaged-devices=interface-name:docker0 重啟 NetworkManager 服務(wù)
重啟 docker 服務(wù)