在 Ubuntu 18.04 中安装 docker 后,我无法连接到特定的网络!我们有大学网络登录的用户名和密码,问题是我无法再登录了。我使用的 vpn 连接是到服务器的:访问1.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
networking中使用的网络完全相同。
我只是改变了docker默认路由,这在docker论坛中有解释这里。为了详细说明,请/etc/docker/daemon.json
通过以下方式打开(或创建)文件:
sudo nano /etc/docker/daemon.json
然后添加这个 json 来解决问题(请注意,你应该使用你的机构或公司不使用的东西):
{
"bip" : "10.10.2.1/24",
"ipv6": false
}
ifconfig
之后,重新启动系统,您就完成了。您还可以使用或命令检查您的docker接口ifconfig docker0
。
答案3
我在 Debain 10 下遇到了同样的问题。运行dhclient
无法修复它,因为它只从 DHCP 服务器获取新的 IP 租约。问题是运行任何 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 可能也有类似的选项。