Docker "docker0` appareil meurt à plusieurs reprises (`inet addr" disparaît)

Je suis en cours d'exécution Docker version 1.4.1, build 5bc2ff8 sur Ubuntu 14.04. Quand je docker run tout conteneur, après quelques minutes, mon docker0 pont "meurt", et le conteneur cesse d'être en mesure d'atteindre le réseau. Avant que la connexion ne meurt, l'exécution de ifconfig rapports un docker0 appareil avec un inet addr comme:

docker0   Link encap:Ethernet  HWaddr 56:84:7a:fe:97:99  
          inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          [... etc.]

Mais après la connexion meurt, ifconfig montre que l'adresse ipv4 a disparu:

docker0   Link encap:Ethernet  HWaddr 56:84:7a:fe:97:99 
          inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8116 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15995 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2444859 (2.4 MB)  TX bytes:17440729 (17.4 MB)

Le redémarrage de docker, par exemple, avec sudo service docker restart, apporte de l'appareil vers l'arrière, mais tous mes contenants de mourir et le problème recommence. Je ne peux pas obtenir quoi que ce soit de manière fiable de fonctionner plus de quelques minutes à une heure. Pas assez longtemps pour l'ensemble d'un docker build pour la plupart des projets.

  1. Ce qui pourrait être la cause?
  2. Comment puis-je diagnostiquer?
  3. Quelles sont les solutions possibles?

Merci!


Mise à jour: j'ai peut sûrement déclencher cette docker0-dropping comportement simplement en commençant par un conteneur avec docker run -t -i ubuntu /bin/bash, et puis sortir avec ctrl-d. Quand je le fais, voici ce que je vois dans /var/log/syslog

myhost kernel:  docker0: port 1(veth80ddeaf) entered disabled state
myhost kernel:  device veth80ddeaf left promiscuous mode
myhost kernel:  docker0: port 1(veth80ddeaf) entered disabled state
'

myhost dhclient: Internet Systems Consortium DHCP Client 4.2.4
myhost dhclient: Copyright 2004-2012 Internet Systems Consortium.
myhost dhclient: All rights reserved.
myhost dhclient: For info, please visit https://www.isc.org/software/dhcp/
myhost dhclient: 
myhost dhclient: Listening on LPF/docker0/56:84:7a:fe:97:99
myhost dhclient: Sending on   LPF/docker0/56:84:7a:fe:97:99
myhost dhclient: Sending on   Socket/fallback
myhost kernel:  IPv6: ADDRCONF(NETDEV_UP): docker0: link is not ready

Mise à jour #2: La fréquence de l'échec semble dépendre de combien de temps le conteneur s'exécute. Par exemple:

docker run -i -t  ubuntu   sleep 0
--> `docker0` "survives" ~100% of the time

docker run -i -t  ubuntu   sleep 1
--> `docker0` survives ~80% of the time

docker run -i -t  ubuntu   sleep 5
--> `docker0` survives ~0% of the time
Essayez de spécifier --net="host" comme solution de contournement. Il fonctionne?
la spécification de --net="host" ne pourrait m'empêcher de containerizing le conteneur de réseautage. Ce n'est donc pas une solution à mon problème, merci pour la suggestion!

OriginalL'auteur Bosh | 2015-03-08