Pada hari ke-81 ini, saya melanjutkan pembahasan dari konsep jaringan di Docker yang sudah dibahas kemarin. Jika di hari ke-80 saya menjelaskan cara membuat network dalam Docker, hari ini saya akan menjelaskan cara menghubungkan container satu dengan container lainnya menggunakan network tersebut. Dengan memahami langkah-langkah ini, kita bisa membangun aplikasi yang terdiri dari beberapa container yang saling terhubung dengan mudah dan aman tanpa perlu mengekspos port ke host.
Docker network adalah salah satu fitur paling kuat dalam Docker. Dengan network ini, kita bisa menghubungkan beberapa container sehingga mereka bisa saling berkomunikasi dalam lingkungan yang aman dan terisolasi. Bayangkan saja, Anda memiliki aplikasi yang menggunakan berbagai layanan, misalnya aplikasi backend, database, dan cache. Dengan Docker network, kita bisa membuat mereka berkomunikasi tanpa konflik atau masalah keamanan.
Langkah-Langkah Menghubungkan Container Menggunakan Network
1. Membuat Docker Network Baru
Langkah pertama, kita perlu membuat network yang nantinya akan digunakan untuk menghubungkan container-container kita. Misalnya, kita buat network bernama contoh-network dengan perintah berikut:
Network contohnetwork ini akan menjadi penghubung antara container yang akan kita buat.
2. Menjalankan Container Pertama dalam Network yang Sama
Setelah network siap, kita bisa menjalankan container pertama, misalnya container Redis, yang akan kita gunakan sebagai database atau cache. Ketika menjalankan container, kita tambahkan opsi --network
untuk menghubungkannya ke network yang sudah kita buat:
Dalam perintah ini, contoh-network adalah nama container, dan redis
adalah image yang kita gunakan. Dengan perintah ini, Redis akan berjalan dalam network contohnetwork yang sudah kita buat, dan siap terhubung dengan container lain di network yang sama.
3. Menjalankan Container Kedua dan Menghubungkannya ke Network yang Sama
Sekarang, kita jalankan container kedua, yaitu contoh-network2
, yang akan terhubung ke Redis. Karena kita ingin container ini bisa berkomunikasi dengan Redis, kita juga perlu menghubungkannya ke network contohnetwork yang sama:
Dengan begitu, click_counter
sekarang berada di dalam app_network
, yang sama dengan redis_container
. Hal ini memungkinkan kedua container untuk saling mengenali dan berkomunikasi tanpa konflik.
4. Berkomunikasi Antar-Container Menggunakan Hostname
Di dalam network contohnetwork, container dapat saling berkomunikasi menggunakan hostname berdasarkan nama container. Jadi, contoh-network bisa berkomunikasi dengan contoh-network2 melalui hostname contoh-network2.
Misalnya, jika dalam kode aplikasi contoh-network Anda ingin menghubungkan ke Redis, Anda bisa menggunakan alamat contoh-network:6379.
Anda bisa memverifikasi koneksi antar-container dengan menjalankan perintah ping
dari dalam container contoh-network ke contoh-network2:
Jika konfigurasi jaringan sudah benar, Anda akan melihat balasan ping, yang menunjukkan bahwa contoh-network dapat berkomunikasi dengan contoh-network2 di dalam contohnetwork.
5. Memeriksa dan Mengelola Network
Docker menyediakan beberapa perintah untuk memantau dan mengelola network. Misalnya:
Melihat Network yang Ada:
Memeriksa Container yang Terhubung di Network Tertentu:
Menghapus Network (Setelah Semua Container Dilepas):
Dengan begitu, Anda tidak hanya membuat network dan menghubungkan container, tapi juga memiliki kontrol penuh untuk melihat koneksi yang ada dan menghapus network jika sudah tidak digunakan lagi.
Dengan cara ini, kita bisa membangun aplikasi yang terdiri dari beberapa container yang saling berkomunikasi dalam lingkungan yang aman. Menggunakan Docker network membuat arsitektur aplikasi yang kompleks menjadi lebih mudah dan memungkinkan kita memisahkan berbagai layanan dalam container yang terisolasi namun tetap saling terhubung. Ini adalah langkah penting untuk mencapai arsitektur aplikasi yang modern dan terdistribusi.
Komentar
Posting Komentar