Lewati ke konten utama

d

Jaringan pada Docker

Docker menyediakan beberapa jenis jaringan (networking) yang memungkinkan container berkomunikasi satu sama lain atau dengan jaringan eksternal. Berikut adalah beberapa jenis jaringan yang tersedia dalam Docker:

1. Bridge Network

Bridge network adalah jenis jaringan default pada Docker jika tidak ditentukan driver jaringan saat menjalankan container. Jenis jaringan ini digunakan untuk membuat jaringan internal dalam satu Docker host.

Karakteristik Bridge Network:

  • Setiap container memiliki IP address unik dalam jaringan bridge yang sama.
  • Container dalam bridge network dapat saling berkomunikasi secara langsung melalui IP address.
  • Jaringan ini terisolasi dari jaringan host.
  • Agar container dapat diakses dari luar, port harus dipublikasikan menggunakan opsi -p atau --publish.

Contoh Penggunaan:

# Menjalankan container dengan bridge network (default)
docker run -d --name python-web-app python:3

docker network inspect bridge

Untuk menguji konektivitas antar-container:

# Mengecek koneksi dari satu container ke container lain
docker exec python-web-app curl 172.17.0.3:8080

2. Host Network

Host network menghilangkan isolasi antara container dan jaringan Docker host. Dengan mode ini, container tidak memiliki IP address sendiri dan menggunakan jaringan host secara langsung.

Karakteristik Host Network:

  • Container berbagi jaringan dengan host.
  • Tidak ada IP address terpisah untuk container.
  • Tidak perlu melakukan port mapping.
  • Hanya didukung pada Linux host, tidak tersedia di Docker Desktop untuk Windows/Mac.

Contoh Penggunaan:

# Menjalankan container menggunakan host network
docker run --rm -d --network host --name my_nginx nginx

Dengan mode ini, aplikasi di dalam container bisa langsung diakses melalui IP host tanpa perlu melakukan port mapping.


3. None Network

None network sepenuhnya mengisolasi container dari jaringan. Container tidak dapat berkomunikasi dengan host maupun container lain.

Karakteristik None Network:

  • Container tidak memiliki koneksi jaringan.
  • Tidak ada interface jaringan seperti eth0.
  • Digunakan untuk keamanan atau testing tanpa koneksi internet.

Contoh Penggunaan:

# Menjalankan container tanpa jaringan
docker run -it --name none-network --network none alpine sh

Untuk menguji, jalankan perintah berikut di dalam container:

ping google.com  # Tidak akan berhasil
ip addr # Tidak akan menemukan interface eth0

4. Overlay Network

Overlay network digunakan untuk menghubungkan beberapa Docker daemon dalam lingkungan yang terdistribusi, seperti dalam cluster Swarm.

Karakteristik Overlay Network:

  • Digunakan untuk komunikasi antar-container di host yang berbeda.
  • Memerlukan Docker Swarm.

5. Macvlan & IPvlan Network

  • Macvlan memungkinkan container mendapatkan alamat MAC unik, membuatnya terlihat sebagai perangkat fisik di jaringan.
  • IPvlan memberikan kontrol penuh atas alamat IP container di jaringan fisik.

Tabel Ringkasan Jenis Jaringan Docker

DriverDeskripsi
bridgeDefault network driver, membuat jaringan internal antar-container.
hostMenghapus isolasi jaringan antara container dan host.
noneMengisolasi container sepenuhnya dari jaringan.
overlayMenghubungkan beberapa Docker daemon dalam cluster.
ipvlanMemberikan kontrol penuh atas alamat IP.
macvlanMemberikan alamat MAC unik untuk container.

Dengan memahami jenis jaringan ini, Anda dapat memilih opsi yang paling sesuai untuk kebutuhan pengelolaan container Docker Anda.