GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer proprement le Docker réseau dans Ubuntu Gnome 15.10 ?

Dans Ubuntu Gnome 15.10, Docker fonctionne presque immédiatement, mais il y a une subtilité. Les conteneurs ne semblent pas pouvoir accéder au réseau tant que je n'ai pas redémarré le service docker.

Après le démarrage de l'hôte, l'interface docker0 n'a pas d'adresse IP.

$ ifconfig docker0
docker0   Link encap:Ethernet  HWaddr ea:03:cc:9c:7a:cd
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:108 (108.0 B)

Si je démarre ensuite un conteneur, l'interface docker0 n'obtient qu'une adresse ipv6 et aucune connexion réseau n'est possible à partir du conteneur pour autant que je sache. Je ne peux pas cingler l'adresse IP de l'hôte, les adresses IP LAN ou les adresses IP Internet. J'utilise l'image ubuntu:trusty et j'exécute bash comme processus principal du conteneur.

$ ifconfig docker0 
docker0   Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet6 addr: fe80::7801:6eff:fe86:6dd8/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:704 (704.0 B)  TX bytes:3917 (3.9 KB)

Si je redémarre docker, docker0 obtient une adresse ipv4 (en plus de l'adresse ipv6) et tout fonctionne comme prévu.

$ sudo service docker restart 
$ ifconfig docker0
docker0   Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::7801:6eff:fe86:6dd8/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:704 (704.0 B)  TX bytes:3917 (3.9 KB)

Bien sûr, je peux redémarrer le service docker à chaque fois que je redémarre ma machine, ou probablement pirater un script de démarrage pour le faire à ma place (je n'ai pas essayé). Est-ce que quelqu'un connaît un propre comment résoudre ce problème ?

Réponse acceptée :

TL; DR :J'avais installé Docker en utilisant "apt-get install docker.io". L'installation de la dernière version suivant https://docs.docker.com/installation/ubuntulinux/ résout le problème.

Après avoir étudié le problème, il semble que la version de Docker dans 15.10 ne peut pas à la fois créer et initialiser correctement l'interface docker0. Lors de la première exécution (service docker start), il créera l'interface mais ne parviendra pas à l'initialiser, et lors de l'exécution suivante (service docker restart), il l'initialisera. Cela peut être reproduit de manière cohérente en ajoutant et en supprimant l'interface manuellement avec brctl. Ce bogue a été corrigé dans le dernier Docker.

En relation :Comment désactiver l'arrêt/le redémarrage à partir de lightdm en 14.04 ?
Ubuntu
  1. Comment configurer HAProxy dans Ubuntu 16.04

  2. Comment installer Docker sur Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  3. Comment configurer l'interface réseau sur Ubuntu, Debian et LinuxMint

  4. Comment personnaliser le bureau Ubuntu Gnome 3 ?

  5. Comment utiliser la commande netplan sur Ubuntu

Comment configurer la liaison réseau dans Ubuntu 20.04

Comment installer Docker sur Ubuntu 20.04, 18.04, 21.04

Comment redémarrer le réseau sur Ubuntu 20.04

Comment installer GNOME 40 sur Ubuntu 21.04

Comment installer GNOME sur Ubuntu 14.04

Comment installer Docker sur Ubuntu 14.04