Generator Docker Compose

Buat docker-compose.yml yang valid dari formulir: layanan, image, port, variabel lingkungan, volume, depends_on, dan kebijakan restart, dengan preset PostgreSQL, MySQL, Redis.

Layanan 1
Layanan 2
docker-compose.yml

Mengikuti Compose Specification terbaru (tanpa kunci "version:"). Volume bernama dideklarasikan otomatis. Ganti kata sandi contoh sebelum dipakai.

Alat Terkait

Lihat Semua

Apa itu Generator Docker Compose?

Buat docker-compose.yml untuk setup multi-container tanpa pusing dengan indentasi YAML. Tambahkan layanan dari preset (PostgreSQL, MySQL, Redis, MongoDB, Nginx, aplikasi Anda sendiri) atau mulai kosong, lalu isi image atau konteks build, port, variabel lingkungan, volume, dependensi, kebijakan restart, dan perintah. YAML diperbarui saat Anda mengetik dan kesalahan dijelaskan.

Cara menggunakan Generator Docker Compose

  1. Edit layanan contoh atau gunakan Tambah layanan untuk menyisipkan preset.
  2. Untuk setiap layanan atur Image (atau Konteks build (jika tanpa image)), Port (host:container), Variabel lingkungan (KEY=value), Volume (sumber:tujuan), Bergantung pada, dan Kebijakan restart.
  3. Perbaiki masalah yang tercantum dengan warna merah (nama, port, variabel, atau dependensi yang tidak valid).
  4. Unduh docker-compose.yml dan jalankan docker compose up -d.

Contoh

Masukan
Service app (build ., port 3000, NODE_ENV=production, depends on db) + PostgreSQL preset
Keluaran
services:
  app:
    build: .
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      NODE_ENV: production
    depends_on:
      - db
  db:
    image: postgres:16-alpine
    restart: unless-stopped
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: app
      POSTGRES_PASSWORD: change-me
      POSTGRES_DB: app
    volumes:
      - pgdata:/var/lib/postgresql/data
volumes:
  pgdata: {}

Kapan menggunakan Generator Docker Compose

Pakai untuk menyiapkan stack pengembangan lokal, demo, dan deployment sederhana satu host. Untuk produksi, Anda biasanya menambahkan health check, batas sumber daya, secret, dan jaringan secara manual, atau memakai orkestrator seperti Kubernetes. Ganti kata sandi contoh pada preset sebelum memakainya di mana pun.

Cara kerja Generator Docker Compose

Formulir diubah menjadi objek mengikuti Compose Specification terkini (tanpa kunci version: yang usang) dan diserialisasi ke YAML dengan js-yaml. Pemetaan port diberi tanda kutip, karena nilai tanpa kutip seperti 22:22 dapat dibaca sebagai angka basis-60 oleh parser YAML 1.1. Baris lingkungan KEY=value menjadi mapping, dan volume apa pun yang sumbernya berupa nama, bukan path (mis. pgdata:/var/lib/postgresql/data), dideklarasikan otomatis di bawah kunci volumes: tingkat atas. Nama layanan, format port, sintaks KEY=value, dan target depends_on divalidasi.

Kasus Penggunaan Umum

  • Menjalankan aplikasi dengan PostgreSQL dan Redis secara lokal
  • Membagikan lingkungan dev yang dapat direproduksi kepada tim
  • Membuat file compose untuk alat self-hosted
  • Mempelajari sintaks Compose lewat contoh

Catatan Keamanan

Mempublikasikan port database (mis. 5432:5432) mengeksposnya di semua antarmuka host. Hapus pemetaan port atau bind ke 127.0.0.1 di server, dan gunakan kata sandi yang kuat atau secret.

Pertanyaan Umum

Mengapa tidak ada baris version:?

Kunci version sudah usang dalam Compose Specification yang dipakai Docker Compose v2; versi terkini mengabaikannya dan menampilkan peringatan.

Apakah depends_on menunggu sampai database siap?

Tidak, ia hanya mengatur urutan start. Tambahkan healthcheck dan condition: service_healthy, atau lakukan percobaan ulang koneksi di aplikasi Anda.

Apa beda named volume dan bind mount?

Named volume (pgdata:/path) dikelola oleh Docker dan bertahan saat container dibuat ulang; bind mount (./data:/path) memetakan folder dari mesin Anda.

Jelajahi kategori lainnya