GNU/Linux >> Belajar Linux >  >> Linux

Menginstal docker-ce di Ubuntu 18.04 merusak konektivitas internet host

Jadi, inilah masalah Anda:

Docker telah menetapkan rentang 172.17.0.1/16 ke docker0 Anda antarmuka. Ini mencakup semua alamat dari 172.17.0.1 melalui 172.17.255.255 . Anda akan melihat bahwa rentang ini mencakup server DNS Anda (172.17.100.3 dan 172.17.100.70 ). Apa yang Anda miliki adalah masalah perutean:

Setiap kali Anda host perlu menjangkau server DNS Anda, ia melihat bahwa ia sudah memiliki antarmuka di jaringan yang sama (docker0 ), sehingga mencoba merutekan paket menggunakan antarmuka itu...yang tentu saja tidak ke mana-mana, itulah sebabnya DNS Anda berhenti berfungsi.

Docker tidak memiliki mekanisme sederhana untuk mengecualikan rentang alamat dari proses pemilihan otomatisnya, jadi Anda mungkin perlu melakukan dua hal untuk menyelesaikan masalah:

Pertama, tetapkan alamat docker0 secara eksplisit di /etc/docker/daemon.json Anda . Gunakan jaringan apa pun yang tidak bertentangan dengan jaringan internal Anda. Misalnya:

{
  "bip": "172.31.0.1/16"
}

Anda harus memulai ulang Docker.

Selanjutnya, untuk mencegah Docker memilih rentang jaringan yang sama untuk jaringan yang ditentukan pengguna (jaringan yang Anda buat secara eksplisit menggunakan docker network create atau secara implisit menggunakan, misalnya, docker-compose atau docker stack ... ), buat jaringan baru dan jangan pernah menggunakannya:

docker network create --subnet 172.17.0.0/16 --config-only do_not_use

Ini akan menyelesaikan masalah Anda dan mencegahnya terpotong kembali di masa mendatang.

Perbarui

Docker sebenarnya mendokumentasikan cara yang bisa dibilang lebih baik untuk mencapai hal ini di Bagaimana cara memengaruhi rentang alamat jaringan mana yang dipilih Docker selama 'pembuatan jaringan buruh pelabuhan'?.

Ini memerlukan pengaturan rute statis persisten pada sistem Anda, yang bervariasi di antara distribusi Linux.


Linux
  1. Bagaimana Cara Membersihkan Docker Jaringan Di Ubuntu Gnome 15.10?

  2. Menginstal Qt 5.5.1 Di Ubuntu 14.04 – Terjadi Kesalahan Qt.network.ssl Di Terminal?

  3. Buruh pelabuhan

  1. Menginstal Docker (Ubuntu)

  2. Bagaimana Cara Menginstal Docker di Ubuntu 18.04?

  3. Tidak ada konektivitas jaringan ke/dari wadah Docker CE di CentOS 8

  1. Menginstal dan Menggunakan Docker di Ubuntu dan Debian

  2. Cara Mengakses Namespace Jaringan Docker Container dari Host

  3. Menjalankan buruh pelabuhan di Ubuntu:volume host yang dipasang tidak dapat ditulis dari wadah