Saat belajar Docker, kita seringkali lebih fokus pada cara membuat image dan menjalankan container. Padahal, agar sebuah aplikasi bisa berjalan utuh, container-container tersebut harus bisa saling berkomunikasi. Di sinilah konsep jaringan pada Docker memegang peranan krusial. Memahami berbagai fungsi jaringan docker adalah kunci agar aplikasi multi-container Anda, misalnya aplikasi web yang terhubung ke database, bisa berjalan dengan lancar.
4 Tipe Jaringan Standar (Default) pada Docker yang Harus Kamu Tahu
Secara bawaan, Docker menyediakan beberapa tipe jaringan Docker yang bisa langsung kita manfaatkan. Masing-masing tipe ini memiliki karakteristik dan kegunaan yang berbeda. Memahami dasar-dasar Docker networking ini akan sangat membantu Anda dalam merancang arsitektur aplikasi yang tepat.
1. Bridge Network
Ini adalah tipe jaringan default yang paling umum digunakan. Jika Anda menjalankan container tanpa menentukan mode jaringan, Docker akan otomatis menghubungkannya ke bridge network internal.
Jaringan ini pada dasarnya menciptakan sebuah jaringan lokal virtual di dalam host (mesin) Anda. Setiap container di dalam bridge yang sama akan mendapatkan alamat IP internal dan bisa saling berkomunikasi menggunakan nama container mereka. Untuk bisa diakses dari luar host, Anda perlu melakukan pemetaan port.
Kapan Pakai Bridge?
Ini adalah pilihan ideal untuk sebagian besar aplikasi standar. Gunakan mode ini saat Anda perlu menjalankan beberapa container (misalnya, web server dan database) di satu host yang sama dan ingin mereka terisolasi dari luar, namun tetap bisa saling “berbicara” satu sama lain.
2. Host Network
Mode host network bekerja dengan cara yang sangat berbeda. Container yang menggunakan mode ini tidak lagi mendapatkan isolasi jaringan. Ia akan “menumpang” dan berbagi tumpukan jaringan (network stack) langsung dengan host Anda.
Tidak ada IP internal khusus, dan tidak perlu ada pemetaan port. Jika container Anda menjalankan aplikasi di port 8080, maka layanan itu akan langsung tersedia di port 8080 pada host Anda.
Kapan Pakai Host?
Gunakan mode ini ketika performa jaringan adalah prioritas utama dan Anda ingin menghindari overhead (beban tambahan) dari proses NAT yang terjadi di mode bridge. Ini sering digunakan untuk container yang tugasnya menangani lalu lintas jaringan dalam volume sangat tinggi, dengan konsekuensi hilangnya isolasi jaringan.
3. None Network
Sesuai namanya, mode none berarti container tersebut terisolasi sepenuhnya. Container yang berjalan di mode ini tidak akan mendapatkan kartu jaringan, tidak punya alamat IP, dan tidak bisa berkomunikasi dengan container lain ataupun ke jaringan luar (internet). Ia hanya memiliki antarmuka loopback (untuk berkomunikasi dengan dirinya sendiri).
Kapan Pakai None?
Mode ini jarang digunakan, tetapi sangat berguna untuk skenario spesifik. Misalnya, untuk menjalankan tugas atau batch job yang hanya perlu memproses data di dalam volume tanpa perlu koneksi apa pun, atau untuk kebutuhan pengujian keamanan yang menuntut isolasi total.
4. Overlay Network
Mode bridge dan host hanya berlaku untuk container yang berada di satu host yang sama. Lalu bagaimana jika container Anda berjalan tersebar di beberapa mesin (klaster)? Di sinilah overlay network berperan.
Jaringan ini menciptakan sebuah jaringan virtual terenkripsi yang “membentang” di atas jaringan fisik beberapa host. Ini memungkinkan container di host yang berbeda untuk berkomunikasi dengan aman seolah-olah mereka berada di satu jaringan lokal yang sama.
Kapan Pakai Overlay?
Anda hanya akan menggunakan tipe ini saat bekerja dalam mode orkestrasi, seperti Docker Swarm. Ini adalah solusi standar untuk komunikasi antar-container dalam arsitektur multi-host atau klaster.
Perintah Dasar untuk Cek Jaringan di Docker
Untuk melihat semua jaringan yang ada di sistem Docker Anda, Anda bisa menjalankan perintah sederhana di terminal: docker network ls.
Jika Anda ingin melihat detail dari jaringan tertentu, misalnya untuk mengecek container mana saja yang terhubung atau apa konfigurasi IP-nya, Anda bisa menggunakan perintah docker network inspect [nama_jaringan].
Kesimpulan: Paham Jaringan, Docker Makin Gampang Dikuasai
Mempelajari jaringan pada Docker mungkin awalnya terasa sedikit rumit, terutama dengan banyaknya istilah teknis. Namun, dengan memahami perbedaan dasar antara bridge, host, none, dan overlay, Anda akan lebih mudah dalam merancang arsitektur aplikasi yang efisien, aman, dan mudah dikelola di dalam ekosistem Docker.







