Di Ubuntu Gnome 15.10 Docker hampir berfungsi di luar kotak tetapi ada kehalusan. Kontainer tampaknya tidak dapat mengakses jaringan sampai saya memulai ulang layanan buruh pelabuhan.
Setelah mem-boot host, antarmuka docker0 tidak memiliki alamat IP apa pun.
$ 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)
Jika saya kemudian memulai wadah, antarmuka docker0 hanya mendapatkan alamat ipv6 dan tidak ada koneksi jaringan yang dimungkinkan dari wadah sejauh yang saya tahu. Saya tidak dapat melakukan ping ke IP host, IP LAN, atau IP Internet. Saya menggunakan ubuntu:trusty image dan menjalankan bash sebagai proses utama container.
$ 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)
Jika saya me-restart docker maka docker0 mendapatkan alamat ipv4 (selain alamat ipv6) dan semuanya berfungsi seperti yang diharapkan.
$ 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)
Tentu saja saya dapat me-restart layanan buruh pelabuhan setiap kali saya me-restart mesin saya, atau mungkin meretas skrip startup untuk melakukannya untuk saya (saya belum mencoba). Adakah yang tahu tentang bersih cara memperbaikinya?
Jawaban yang Diterima:
TL; DR:Saya telah menginstal Docker menggunakan "apt-get install docker.io". Menginstal versi terbaru dengan mengikuti https://docs.docker.com/installation/ubuntulinux/ memperbaiki masalah.
Setelah menyelidiki masalah, tampaknya versi Docker di 15.10 tidak dapat membuat dan menginisialisasi antarmuka docker0 dengan benar. Pada proses pertama (service docker start) ia akan membuat antarmuka tetapi gagal untuk menginisialisasinya, dan pada run berikutnya (service docker restart) ia akan menginisialisasinya. Ini dapat direproduksi secara konsisten dengan menambahkan dan menghapus antarmuka secara manual dengan brctl. Bug ini telah diperbaiki di Docker terbaru.
Terkait:Bagaimana cara menonaktifkan shutdown/reboot dari lightdm di 14,04?