17 Agustus 2026•baca 4 menit

Docker Compose untuk Developer Santai: Satu Perintah Buat Jalankan Semua Service

Pernah nggak kalian ngulang-ngulang perintah docker run cuma buat nyalain web, database, dan cache satu-satu? Capek, kan? Yuk, kita rapikan semuanya jadi satu file dan satu perintah!

Docker Compose untuk Developer Santai: Satu Perintah Buat Jalankan Semua Service

"Tapi di laptop saya jalan kok..."

Kalimat itu udah jadi legenda di ruang standup tiap kali staging atau production ngambek. Untungnya, Docker datang bawa solusi: bungkus aplikasi ke dalam container biar lingkungannya sama di mana pun.

Tapi ada satu hal yang bikin repot. Kalau aplikasi kalian butuh web server (FastAPI), database (PostgreSQL), cache (Redis), dan queue (RabbitMQ), masa iya kalian harus ngejalanin docker run satu-satu buat tiap container?

Nah, di sinilah Docker Compose masuk jadi pahlawan. 😎

Poin Penting

  • Dockerfile cuma ngurus satu container, padahal aplikasi nyata biasanya butuh database, cache, dan message broker sekaligus.
  • Docker Compose ngebungkus web server, database, dan cache dalam satu file deklaratif docker-compose.yml yang tinggal dijalankan dengan satu perintah.
  • Network isolation dan persistent volume diatur otomatis lewat Compose, jadi data database tetap aman walau container-nya dimatiin.
  • Onboarding anggota tim baru jadi mulus karena cukup git clone lalu docker compose up -d, tanpa nginstal apa pun manual.

Kenapa Dockerfile aja belum cukup?

Dockerfile itu ibarat resep buat bikin satu container. Misalnya resep khusus buat aplikasi FastAPI kalian.

Dalam praktik nyata, aplikasi jarang berdiri sendiri. Kalian butuh database, butuh Redis, dan mungkin butuh RabbitMQ juga.

Kalau cuma modal Dockerfile biasa:

  1. Harus build dan run container aplikasinya.
  2. Harus run container PostgreSQL dengan environment variable tersendiri.
  3. Harus run container Redis.
  4. Harus nyambungin ketiganya manual dalam satu Docker Network.

Belum lagi kalau ada anggota tim baru yang wajib ngulang semua langkah itu dari nol. Capek banget, kan? 😅

Docker Compose hadir buat ngorganisir banyak container (multi-container) cuma dari satu file konfigurasi.

Satu file buat semua service

Dengan Docker Compose, kalian cukup bikin satu file bernama docker-compose.yml yang isinya rancangan seluruh service aplikasi.

Setelah file-nya siap, tinggal jalanin satu perintah:

BASH
docker compose up -d

Semua service (web, database, redis) nyala otomatis dan saling terhubung dalam satu jaringan.

Anatomi file docker-compose.yml

Berikut contoh sederhana konfigurasi docker-compose.yml yang nyambungin web server dengan PostgreSQL:

YAML
services:
  web:
    build: .
    ports:
      - "8000:8000"
    environment:
      - DATABASE_URL=postgresql://user:password@db:5432/mydatabase
    depends_on:
      db:
        condition: service_healthy

  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: mydatabase
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U user -d mydatabase"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  postgres_data:

Penjelasan singkatnya:

  • services: daftar container yang mau dijalankan (web dan db).
  • build: .: instruksi buat build container dari Dockerfile lokal.
  • depends_on dengan condition: service_healthy: nunggu container db benar-benar siap nerima koneksi, bukan cuma sekadar nyala.
  • volumes: nyimpen data database biar nggak hilang pas container-nya dimatiin.

Oh iya, kalian mungkin bakal nemu contoh lawas yang nulis version: '3.8' di baris paling atas. Field itu udah nggak dibutuhin lagi di Compose versi baru—kalau dipasang, Docker malah ngasih peringatan obsolete.

Perintah penting yang sering dipakai

Beberapa perintah yang bakal sering kalian ketik sehari-hari:

  • docker compose up -d — nyalain semua service di belakang layar.
  • docker compose ps — ngintip status service yang lagi jalan.
  • docker compose logs -f web — ngikutin log aplikasi secara real-time.
  • docker compose down — matiin seluruh container dan jaringannya.

Satu perintah, bebas drama

Buang jauh-jauh drama "di laptop saya jalan kok..." dari tim kalian. Pakai docker-compose.yml, seluruh konfigurasi stack aplikasi—mulai dari web server, database PostgreSQL, Redis cache, sampai message broker—terdokumentasi rapi sebagai kode deklaratif yang konsisten.

Cukup satu perintah docker compose up -d, dan lingkungan kerja lokal kalian siap nerima request dalam hitungan detik. Anggota tim baru tinggal git clone, jalanin satu perintah, terus langsung ngoding. Nggak ada lagi sesi debugging dua jam gara-gara versi PostgreSQL beda tipis. 🎉

Selamat ber-Compose ria, dan semoga docker compose up kalian nggak pernah gagal di hari pertama kerja! 👋

Biar makin jago ngoding.

Yuk gabung bareng temen-temen developer lainnya buat dapet update teknologi, tips, dan tutorial santai tiap minggu.

Biar Nggak Kudet

Update teknologi, tips ngoding, dan insight santai langsung ke email kamu tiap minggu.

Santai, anti spam. Bisa berhenti langganan kapan aja.

Baca Selanjutnya

Lihat semua

© 2026 Inva.dev.