En Ubuntu Gnome 15.10, Docker casi funciona de inmediato, pero hay una sutileza. Parece que los contenedores no pueden acceder a la red hasta que reinicie el servicio docker.
Después de iniciar el host, la interfaz docker0 no tiene ninguna dirección 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 luego inicio un contenedor, la interfaz docker0 solo obtiene una dirección ipv6 y, por lo que sé, no es posible una conexión de red desde el contenedor. No puedo hacer ping a la IP del host, las IP de la LAN o las IP de Internet. Estoy usando la imagen ubuntu:trusty y ejecuto bash como el proceso principal del contenedor.
$ 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 reinicio docker, docker0 obtiene una dirección ipv4 (además de la dirección ipv6) y todo funciona como se esperaba.
$ 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)
Por supuesto, puedo reiniciar el servicio docker cada vez que reinicio mi máquina, o probablemente piratear un script de inicio para que lo haga por mí (no lo he intentado). ¿Alguien sabe de un limpio ¿Cómo arreglar esto?
Respuesta aceptada:
TL; DR:Instalé Docker usando "apt-get install docker.io". Instalar la última versión siguiendo https://docs.docker.com/installation/ubuntulinux/ soluciona el problema.
Después de investigar el problema, parece que la versión de Docker en 15.10 no puede crear e inicializar correctamente la interfaz docker0. En la primera ejecución (inicio de la ventana acoplable del servicio), creará la interfaz pero no podrá inicializarla, y en la ejecución posterior (reinicio de la ventana acoplable del servicio) la inicializará. Esto se puede reproducir consistentemente agregando y eliminando la interfaz manualmente con brctl. Este error se ha corregido en la última versión de Docker.
Relacionado:¿Cómo deshabilitar el apagado/reinicio de lightdm en 14.04?