“Container tanpa jaringan ibarat manusia tanpa WiFi—kesepian dan nggak bisa Googling!”
Docker punya jaringan bawaan, tapi kadang kita butuh lebih dari sekadar jaringan default. Nah, di sinilah jaringan custom Docker berperan! Dengan jaringan custom, kita bisa:
Mengatur komunikasi antar container.
Menentukan IP Address dan subnet sendiri.
Menghubungkan container ke beberapa jaringan.
Siap jadi arsitek jaringan container? Mari kita bahas cara membuat dan mengkonfigurasi jaringan custom di Docker!
1. Kenapa Perlu Jaringan Custom?
Secara default, Docker punya beberapa jenis jaringan:
Jaringan | Fungsi |
---|---|
Bridge | Jaringan default untuk container dalam satu host. |
Host | Container langsung pakai jaringan host. |
None | Container nggak punya jaringan (isolasi total). |
Overlay | Jaringan antar host untuk Docker Swarm. |
Macvlan | Container punya IP sendiri di jaringan fisik. |
Nah, jaringan custom berguna kalau kita ingin lebih fleksibel dalam mengelola container, misalnya:
✔ Memisahkan database dan backend dalam jaringan berbeda.
✔ Menyesuaikan IP Address sesuai kebutuhan.
✔ Memastikan container berkomunikasi hanya dengan container tertentu.
2. Cara Membuat Jaringan Custom di Docker
Untuk membuat jaringan custom, gunakan perintah:
docker network create my_custom_network
Cek apakah jaringan berhasil dibuat:
docker network ls
Outputnya bakal kelihatan seperti ini:
NETWORK ID NAME DRIVER SCOPE
b6d7ef24f5c8 my_custom_network bridge local
Selamat! Kamu baru saja membuat jaringan custom pertama kamu!
3. Menggunakan Driver Jaringan di Docker
Saat membuat jaringan, kita bisa menentukan driver jaringan sesuai kebutuhan.
(a) Bridge Network (Paling Sering Dipakai)
Buat jaringan bridge dengan subnet tertentu:
docker network create --driver bridge \
--subnet=192.168.1.0/24 \
my_bridge_network
Cocok untuk: Komunikasi antar container dalam satu host.
(b) Macvlan Network (Container Punya IP Sendiri)
Buat jaringan dengan alamat MAC Address unik:
docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
-o parent=eth0 \
my_macvlan_network
Cocok untuk: Integrasi dengan jaringan fisik atau aplikasi yang butuh IP unik.
(c) Overlay Network (Jaringan Antar Host)
Jika kamu menjalankan Docker Swarm, kamu bisa bikin jaringan overlay:
docker network create -d overlay \
--subnet=10.0.0.0/24 \
my_overlay_network
Cocok untuk: Multi-host networking dalam cluster.
4. Menghubungkan Container ke Jaringan Custom
Setelah jaringan dibuat, kita bisa menghubungkan container ke jaringan itu.
docker run -d --name web --network my_custom_network nginx
docker run -d --name db --network my_custom_network mysql:8
Sekarang, web dan db bisa saling berkomunikasi menggunakan hostname. Coba cek dengan:
docker exec -it web ping db
Kalau berhasil, outputnya akan seperti ini:
PING db (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.098 ms
Mission accomplished! Container bisa ngobrol satu sama lain!
5. Menghubungkan Container ke Beberapa Jaringan
Kadang, kita butuh satu container terhubung ke lebih dari satu jaringan.
Misalnya, kita punya jaringan backend dan frontend.
Buat dua jaringan:
docker network create backend_network
docker network create frontend_network
Jalankan container dan hubungkan ke dua jaringan:
docker run -d --name api --network backend_network node
docker network connect frontend_network api
Sekarang container api
bisa berkomunikasi dengan container di backend_network dan frontend_network!
6. Menghapus Jaringan Custom
Kalau mau menghapus jaringan, pastikan tidak ada container yang sedang terhubung.
Lihat daftar container dalam jaringan:
docker network inspect my_custom_network
Kalau masih ada container, lepaskan dulu:
docker network disconnect my_custom_network web
Baru setelah itu bisa dihapus:
docker network rm my_custom_network
⚠ Catatan: Jangan hapus jaringan bridge default kalau nggak mau pusing!
7. Kesimpulan: Jaringan Custom Docker Itu Gampang!
Jaringan custom bikin container lebih fleksibel dan aman.
Bisa menggunakan Bridge, Macvlan, atau Overlay sesuai kebutuhan.
Container bisa terhubung ke beberapa jaringan sekaligus.
Jangan lupa disconnect container sebelum menghapus jaringan!
Sekarang kamu sudah jadi arsitek jaringan Docker! Coba bikin jaringan custom di proyekmu sendiri dan lihat hasilnya!
0 Comments