Kodeloka
  1. Kodeloka
  2. Kelas Docker
  3. Materi

Compose ยท Modul 11 dari 21

Introduction to Docker Compose

Orkestrasi multi-container dengan file docker-compose.yml, struktur YAML, & perintah dasar compose.

Pengenalan Docker Compose

Ketika aplikasi kita berkembang dan terdiri dari banyak kontainer (Frontend, Backend API, Database PostgreSQL, Redis Cache), mengetikkan perintah docker run secara manual satu per satu sangat melelahkan dan rentan kesalahan.

๐Ÿ™ Apa itu Docker Compose?
Docker Compose adalah alat untuk mendefinisikan dan menjalankan aplikasi multi-kontainer Docker menggunakan sebuah file konfigurasi **declarative** bertipe YAML (docker-compose.yml).

Struktur Standar compose.yaml:

โš ๏ธ Dua hal yang sudah usang

1. Binary docker-compose (v1) berbasis Python sudah EOL dan tidak lagi disertakan. Gunakan plugin Compose v2 yang dipanggil sebagai subcommand: docker compose (pakai spasi, bukan tanda hubung).

2. Key version: di baris paling atas sudah obsolete pada Compose Specification dan hanya akan memunculkan peringatan. Hapus saja. Nama file yang dianjurkan sekarang compose.yaml, meski docker-compose.yml tetap dikenali.

services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html
    networks:
      - app-network

  database:
    image: postgres:alpine
    environment:
      POSTGRES_PASSWORD: secretpassword
    volumes:
      - db-data:/var/lib/postgresql/data
    networks:
      - app-network

volumes:
  db-data:

networks:
  app-network:
    driver: bridge

Perintah Utama Docker Compose:

# Menjalankan seluruh stack aplikasi di background
docker compose up -d

# Melihat status seluruh kontainer compose
docker compose ps

# Menghentikan dan menghapus seluruh kontainer, network, & volume
docker compose down