Docker Networking — DevOps

Network di Docker Docker membuat jaringan virtual sehingga container bisa berkomunikasi satu sama lain. Memahami networking Docker sangat penting untuk arsitekt

Network di Docker

Docker membuat jaringan virtual sehingga container bisa berkomunikasi satu sama lain. Memahami networking Docker sangat penting untuk arsitektur microservices.

Jenis Network Driver

Membuat & Mengelola Network

# Buat custom network
docker network create my-network

# Jalankan container di network tertentu
docker run -d --name api --network my-network node:20
docker run -d --name db --network my-network postgres:16

# Container api bisa akses db via hostname "db"
# curl http://db:5432 (dari dalam container api)

# List networks
docker network ls

# Inspect network
docker network inspect my-network

# Connect container ke network
docker network connect my-network existing-container

Docker Compose Networking

# Compose otomatis buat network bernama {project}_default
# Semua service bisa akses satu sama lain via nama service

services:
  app:
    build: .
    environment:
      # Akses db via hostname "db", bukan localhost
      DB_HOST: db
      REDIS_HOST: redis

  db:
    image: postgres:16

  redis:
    image: redis:7

Port Mapping

# Format: HOST_PORT:CONTAINER_PORT
docker run -p 8080:3000 my-app

# Multiple ports
docker run -p 80:80 -p 443:443 nginx

# Hanya akses dari localhost
docker run -p 127.0.0.1:3000:3000 my-app

Yang akan kamu pelajari