Apa `docker0` di sana?

Sep 18 2020

Saya membaca dokumen tentang dockermode jaringan.

ada tampilan di sana docker0dan eth1di Host.

Saya punya pertanyaan tentang itu: apa itu docker0? apakah itu sebuah antarmuka atau jembatan? jika sebuah antarmuka, itu harus memiliki alamat IP yang dapat berkomunikasi 172.17.0.2, bukan?

Jawaban

1 VonC Sep 18 2020 at 11:32

Anda dapat melihat misalnya docker0 yang dijelaskan di artikel ini :

Docker0 bridge adalah antarmuka virtual yang dibuat oleh buruh pelabuhan, secara acak memilih alamat dan subnet dari rentang pribadi yang ditentukan oleh RFC 1918 yang tidak digunakan pada mesin host, dan menetapkannya ke docker0.

Semua kontainer buruh pelabuhan akan terhubung ke jembatan buruh pelabuhan secara default, kontainer buruh pelabuhan yang terhubung ke docker0jembatan dapat menggunakan aturan NAT iptables yang dibuat oleh buruh pelabuhan untuk berkomunikasi dengan dunia luar.

Secara default, Docker akan melampirkan semua kontainer ke bridge docker0, jadi Anda tidak perlu menentukan flag tambahan dengan perintah run docker untuk menghubungkan kontainer docker ke docker0bridge, kecuali jika DOCKER_OPTSfile konfigurasi dalam docker secara eksplisit menentukan untuk menggunakan jaringan selain docker0bridge , dalam hal ini Anda dapat menggunakan –net=bridgeperintah docker run untuk menghubungkan kontainer ke docker0bridge.

Lihat juga " Apa hubungan antara docker0dan eth0? "