GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare in modo pulito il Docker di rete in Ubuntu Gnome 15.10?

In Ubuntu Gnome 15.10 Docker funziona quasi immediatamente ma c'è una sottigliezza. I contenitori non sembrano essere in grado di accedere alla rete finché non riavvio il servizio Docker.

Dopo aver avviato l'host, l'interfaccia docker0 non ha alcun indirizzo 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)

Se quindi avvio un contenitore, l'interfaccia docker0 ottiene solo un indirizzo ipv6 e non è possibile alcuna connessione di rete dal contenitore per quanto posso dire. Non riesco a eseguire il ping dell'IP host, degli IP LAN o degli IP Internet. Sto usando l'immagine ubuntu:trusty ed eseguo bash come processo principale del contenitore.

$ 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)

Se riavvio docker, docker0 ottiene un indirizzo ipv4 (oltre all'indirizzo ipv6) e tutto funziona come previsto.

$ 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)

Ovviamente posso riavviare il servizio docker ogni volta che riavvio la mia macchina, o probabilmente hackerare uno script di avvio per farlo per me (non ho provato). Qualcuno sa di un pulito come risolvere questo problema?

Risposta accettata:

TL; DR:avevo installato Docker usando "apt-get install docker.io". L'installazione dell'ultima versione seguendo https://docs.docker.com/installation/ubuntulinux/ risolve il problema.

Dopo aver esaminato il problema, sembra che la versione di Docker in 15.10 non sia in grado di creare e inizializzare correttamente l'interfaccia docker0. Alla prima esecuzione (avvio della finestra mobile del servizio) creerà l'interfaccia ma non la inizializzerà e alla successiva esecuzione (riavvio della finestra mobile del servizio) la inizializzerà. Questo può essere riprodotto in modo coerente aggiungendo ed eliminando manualmente l'interfaccia con brctl. Questo bug è stato corretto nell'ultima finestra mobile.

Correlati:come disabilitare lo spegnimento/riavvio da lightdm in 14.04?
Ubuntu
  1. Come configurare HAProxy in Ubuntu 16.04

  2. Come installare Docker su Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  3. Come configurare l'interfaccia di rete su Ubuntu, Debian e LinuxMint

  4. Come personalizzare il desktop di Ubuntu Gnome 3?

  5. Come usare il comando netplan su Ubuntu

Come impostare il legame di rete in Ubuntu 20.04

Come installare Docker su Ubuntu 20.04, 18.04, 21.04

Come riavviare la rete su Ubuntu 20.04

Come installare GNOME 40 su Ubuntu 21.04

Come installare GNOME su Ubuntu 14.04

Come installare Docker su Ubuntu 14.04