在 Ubuntu 18.04 中安裝 docker 後,我無法連接到非常特定的網路!我們有大學網路登入的使用者名稱和密碼,問題是我無法再登入。我使用的 VPN 連線是到伺服器的:access1.sharif.ir
我知道有一個類似的問題,例如:
在 Ubuntu 18.04 中安裝 docker-ce 會破壞主機的網路連接
但我沒有守護程式.json在我的 docker 資料夾中,我不知道該怎麼辦。請幫忙!
答案1
您可以嘗試執行以下命令:
dhclient -v -4
當我的機器因 Docker 而失去連接時,它對我很有幫助。
答案2
注意:此解決方案已在多台電腦上進行了測試,網址為謝里夫科技大學在 ubuntu 和 arch 筆記型電腦上。
我在 上的完全相同的網路上遇到了完全相同的問題manjaro (arch linux)
。這是因為 docker172.27.1.1
預設使用的是Sharif University
network 中使用的確切網路。
我只是更改了 docker 預設路由,這在 docker 論壇中進行了解釋這裡。要解釋更多信息,請透過以下方式開啟(或建立)文件/etc/docker/daemon.json
:
sudo nano /etc/docker/daemon.json
然後添加此 json 來解決問題(請注意,您應該使用您的機構或公司不使用的東西):
{
"bip" : "10.10.2.1/24",
"ipv6": false
}
之後,重新啟動系統即可完成。您也可以使用ifconfig
或ifconfig docker0
命令查看您的 docker 介面。
答案3
我在 Debain 10 下也遇到同樣的問題dhclient
。問題是執行任何 docker 容器都會透過主機站點上的 docker 介面新增新的預設路由:
(base) mkawka@smok:~$ ip route
default dev vethe8e28b3 scope link
default via 192.168.5.1 dev wlp2s0
default dev enp3s0 scope link metric 1002 linkdown
10.99.0.0/16 dev docker0 proto kernel scope link src 10.99.0.1
169.254.0.0/16 dev enp3s0 proto kernel scope link src 169.254.10.179 linkdown
169.254.0.0/16 dev vethe8e28b3 proto kernel scope link src 169.254.53.97
192.168.5.0/24 dev wlp2s0 proto kernel scope link src 192.168.5.4
編輯:好的,Debian 的解決方案是阻止 Connman 玩弄 docker 網路介面。為此,請編輯該文件/etc/connman/main.conf
並確保取消註釋以下行:
NetworkInterfaceBlacklist = vmnet,vboxnet,virbr,ifb,ve-,vb-,docker,veth
我想對於其他發行版 NetworkManager 可能有類似的選項。