In Ubuntu Gnome 15.10 funktioniert Docker fast sofort, aber es gibt eine Subtilität. Die Container scheinen nicht in der Lage zu sein, auf das Netzwerk zuzugreifen, bis ich den Docker-Dienst neu starte.
Nach dem Booten des Hosts hat die Docker0-Schnittstelle keine IP-Adresse.
$ 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)
Wenn ich dann einen Container starte, erhält die Docker0-Schnittstelle nur eine IPv6-Adresse und es ist keine Netzwerkverbindung vom Container möglich, soweit ich das beurteilen kann. Ich kann die Host-IP, LAN-IPs oder Internet-IPs nicht anpingen. Ich verwende das Ubuntu: Trusty Image und führe bash als Hauptprozess des Containers aus.
$ 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)
Wenn ich Docker neu starte, erhält Docker0 eine IPv4-Adresse (zusätzlich zur IPv6-Adresse) und alles funktioniert wie erwartet.
$ 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)
Natürlich kann ich den Docker-Dienst jedes Mal neu starten, wenn ich meinen Computer neu starte, oder wahrscheinlich ein Startskript hacken, um dies für mich zu tun (ich habe es nicht versucht). Kennt jemand einen sauberen Weg, um dies zu beheben?