【发布时间】:2017-07-20 20:57:08
【问题描述】:
我通过 Wifi 登录到我的 Lubuntu 16.04.2 LTS 服务器,每次启动 docker 容器时,我的连接都会断开。因为我对 docker 比较陌生,我只能猜测这与 dockers 虚拟网络的创建有关。我还应该提到我禁用了 ipv6,但如果启用它没有任何区别。
这是我的syslog,它显示了当我运行sudo docker run -it ubuntu bash 时会发生什么。在它冻结之前,我可以看到容器/ubuntu 提示 2-3 秒。使用--net=host 运行它可以,但不是我想要的。
ifconfig 显示
docker0 Link encap:Ethernet HWaddr 02:42:8d:8b:b7:4c
inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:162 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:536 (536.0 B) TX bytes:9678 (9.6 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:538 errors:0 dropped:0 overruns:0 frame:0
TX packets:538 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:49592 (49.5 KB) TX bytes:49592 (49.5 KB)
vethee1cf14 Link encap:Ethernet HWaddr ba:53:4c:08:89:64
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:167 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:648 (648.0 B) TX bytes:9888 (9.8 KB)
wlp2s0 Link encap:Ethernet HWaddr f4:06:69:5d:ba:f6
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:3082 errors:0 dropped:0 overruns:0 frame:0
TX packets:2916 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:556197 (556.1 KB) TX bytes:569381 (569.3 KB)
docker network inspect bridge 显示
[
{
"Name": "bridge",
"Id": "8ec46d17f5cba798c8aba5c8457e019dcb24eade1285054f59c3430c33ff74f8",
"Created": "2017-03-04T10:44:27.966018717+01:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Containers": {},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
随着 docker 停止 ip a 显示
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether f4:06:69:5d:ba:f6 brd ff:ff:ff:ff:ff:ff
inet 192.168.178.21/24 brd 192.168.178.255 scope global wlp2s0
valid_lft forever preferred_lft forever
inet6 fe80::f606:69ff:fe5d:baf6/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:6f:0c:38:7a brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 scope global docker0
valid_lft forever preferred_lft forever
我的 Wifi 连接会怎样?任何帮助表示赞赏。如果更多信息对您有帮助,请告诉我。
更新
谢谢你的帮助。根据我目前得到的回复,我的网络配置似乎有问题。
cat /etc/NetworkManager/NetworkManager.conf 显示
[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq
[ifupdown]
managed=false
cat /etc/network/interfaces 显示
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
由于我没有进行特殊配置,所以对我来说一切都很好。有什么建议我可以在哪里寻找信息或如何解决这个问题?
更新
nmcli dev 显示
DEVICE TYPE STATE CONNECTION
docker0 bridge connected docker0
wlp2s0 wifi unavailable --
vethf9342a9 ethernet unmanaged --
lo loopback unmanaged --
当 docker 运行时
DEVICE TYPE STATE CONNECTION
docker0 bridge connected docker0
wlp2s0 wifi connected meins
lo loopback unmanaged --
当 docker 停止时。
更新
在/etc/NetworkManager/NetworkManager.conf 中添加了以下行,以使 NetworkManager 忽略 docker 接口。
[keyfile]
unmanaged-devices=interface-name:docker0;interface-name:veth*
网络管理器忽略了接口,但问题仍然存在。所以我的猜测是,这是我的 DHCP 配置的问题。
更新
DHCP 客户端似乎确实有问题。禁用它会有所帮助。有什么解决方法的建议吗?
【问题讨论】:
-
您能否在您的问题中包含
docker network inspect bridge的输出。此外,当 docker 停止并且 wifi 正常工作时,ip a会显示什么? -
您是否还可以包含用于启动容器的完整
docker run命令(或撰写文件)? -
@BMitch:在描述中包含了完整的命令。 - 事实上,确切的命令似乎并不重要。创建虚拟 docker 网络的所有命令都会导致我的 wifi 断开连接。
-
您的网络配置有问题。您的容器网络看起来像是在践踏您的主机网络。 veth48067d8:使用静态地址 192.168.178.21/24 wlp2s0:使用静态地址 192.168.178.21/24
-
我面临同样的问题,@NaN 你有没有找到任何解决方案?我在这里找不到任何答案。
标签: networking docker wifi