docker启动后Wifi连接断开

时间:2017-03-01 13:39:14

标签: networking docker wifi

我通过Wifi登录到我的Lubuntu 16.04.2 LTS服务器,每次启动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": {}
    }
]

停靠时停靠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  --  

当泊坞窗停止时。

更新

将以下行添加到/etc/NetworkManager/NetworkManager.conf以使NetworkManager忽略docker接口。

[keyfile]
unmanaged-devices=interface-name:docker0;interface-name:veth*

网络管理员忽略了接口,但问题仍然存在。所以我的猜测是,我的DHCP配置存在问题。

更新

DHCP客户端似乎确实存在问题。禁用它有帮助。有关解决方法的任何建议吗?

3 个答案:

答案 0 :(得分:2)

从您的日志中突出显示的行是:

Mar  1 13:54:44 kodi NetworkManager[1054]: <info>  [1488372884.3614] device (docker0): link connected
Mar  1 13:54:44 kodi dhcpcd[1240]: veth48067d8: IAID 3a:d3:8a:28
Mar  1 13:54:44 kodi dhcpcd[1240]: veth48067d8: using static address 192.168.178.21/24
Mar  1 13:54:44 kodi dhcpcd[1240]: wlp2s0: preferring 192.168.178.21 on veth48067d8
Mar  1 13:54:44 kodi dhcpcd[1240]: veth48067d8: adding route to 192.168.178.0/24
Mar  1 13:54:44 kodi dhcpcd[1240]: veth48067d8: adding default route via 192.168.178.1

在我自己的环境中,在NetworkManager看到连接的链接后,我只看到以下内容:

Mar  5 12:32:39 bmitch-asusr556l NetworkManager[827]: <info> devices removed (path: /sys/devices/virtual/net/veth365c591, iface: veth365c591)
Mar  5 12:32:39 bmitch-asusr556l NetworkManager[827]: <info> (vethf29a6bb): link connected
Mar  5 12:32:41 bmitch-asusr556l avahi-daemon[835]: Joining mDNS multicast group on interface vethf29a6bb.IPv6 with address fe80::34c0:66ff:fe89:26ec.
Mar  5 12:32:41 bmitch-asusr556l avahi-daemon[835]: New relevant interface vethf29a6bb.IPv6 for mDNS.
Mar  5 12:32:41 bmitch-asusr556l avahi-daemon[835]: Registering new address record for fe80::34c0:66ff:fe89:26ec on vethf29a6bb.*.

我在上面的评论中的问题,在哪里弄清楚你是否以某种方式将容器IP硬编码到192.168.178.x网络。由于没有发生这种情况,您应该看到容器以172.17.0.x地址启动。您的环境中似乎有错误配置NetworkManager或dhcpd尝试使用无线(wlp2s0)使用的相同IP为docker容器(veth)提供IP,然后将容器列为首选连接

答案 1 :(得分:0)

我已经浏览了您发布的syslog,似乎存在一些身份验证问题:

Mar  1 13:54:45 kodi kernel: [351489.718503] wlp2s0: deauthenticating from 34:31:c4:0c:bf:24 by local choice (Reason: 3=DEAUTH_LEAVING)
Mar  1 13:54:45 kodi dhcpcd[1240]: veth48067d8: carrier acquired
Mar  1 13:54:45 kodi wpa_supplicant[1259]: wlp2s0: CTRL-EVENT-DISCONNECTED bssid=34:31:c4:0c:bf:24 reason=3 locally_generated=1
Mar  1 13:54:45 kodi NetworkManager[1054]: <warn>  [1488372885.1783] sup-iface[0x23b4210,wlp2s0]: connection disconnected (reason -3)
Mar  1 13:54:45 kodi kernel: [351489.751908] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready

暂时我可以说的是,请通过我在下面粘贴的链接:

https://docs.docker.com/engine/admin/#logs-1

http://www.tutorialspoint.com/articles/how-to-install-and-use-docker-on-ubuntu-16-04

如果这不能解决您的问题,请按照调试步骤发布更合适的日志。

答案 2 :(得分:0)

Ubuntu 18.04上存在相同的问题。

我认为将以下内容添加到文件/etc/NetworkManager/NetworkManager.conf中可以解决此问题:

[keyfile]
unmanaged-devices=interface-name:docker0;interface-name:veth*

您还需要做其他一些事情:

  1. 停止所有Docker容器;
  2. 通过sudo service network-manager restart重新启动网络,现在您的wifi应该可以正常工作了;
  3. 再次启动您的docker容器,此刻我的wifi仍在工作。

2019年3月14日

ref:https://askubuntu.com/a/1009402/620445