Mode Jaringan Docker & Custom Network Drivers
Docker menyediakan beberapa driver jaringan untuk mengatur bagaimana kontainer saling berkomunikasi satu sama lain.
4 Driver Jaringan Standar Docker:
- Bridge (Default): Jaringan internal privat. Kontainer di bridge yang sama dapat saling berkomunikasi.
- Host: Mengisolasi network namespace dihilangkan; kontainer menggunakan langsung IP dan Port milik Host OS (sangat cepat, tanpa overhead NAT).
- None: Kontainer tidak memiliki kartu jaringan sama sekali (terisolasi total dari dunia luar).
- Overlay: Digunakan untuk menghubungkan kontainer di beberapa host server berbeda (Docker Swarm / Multi-host).
Mengapa Harus Membuat Custom User-Defined Bridge?
Pada jaringan default bridge, kontainer hanya bisa saling panggil menggunakan IP Address. Namun pada Custom User-Defined Bridge, Docker menyediakan fitur **Embedded DNS Server** sehingga kontainer bisa saling berkomunikasi menggunakan **Nama Kontainer (Hostname)**!
# 1. Buat custom bridge network
docker network create my-net
# 2. Jalankan database PostgreSQL di jaringan my-net
docker run -d --name db-postgres --network my-net -e POSTGRES_PASSWORD=rahasia postgres:alpine
# 3. Jalankan aplikasi web di jaringan yang sama
docker run -d --name app-web --network my-net -p 8000:8000 my-web-app
# 4. Dari app-web, kita bisa langsung connect ke "db-postgres" sebagai hostname!