GNU/Linux >> Belajar Linux >  >> Ubuntu

Bagaimana Cara Membersihkan Docker Jaringan Di Ubuntu Gnome 15.10?

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?
Ubuntu
  1. Cara Mengatur Antarmuka Jaringan di Ubuntu, Debian &LinuxMint

  2. Bagaimana Cara Menyesuaikan Desktop Ubuntu Gnome 3?

  3. Cara mengkonfigurasi klien DHCP Ubuntu

  1. Cara Mengatur HAProxy di Ubuntu 16.04

  2. Cara Menginstal Docker di Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  3. Cara menggunakan perintah netplan di Ubuntu

  1. Cara menginstal Docker di Ubuntu 22.04

  2. Cara Mengatur Registri Docker Pribadi di Ubuntu 20.04

  3. Bagaimana Setup dan Konfigurasi Docker Swarm Cluster di Ubuntu