Membuat file compose.yaml

Docker Tingkat Menengah

Mike Metzger

Data Engineering Consultant

YAML

  • Yet Another Markup Language
    • YAML Ain't Markup Language
  • Berkas teks, tetapi spasi penting (seperti Python)
  • Dipakai di banyak skenario pengembangan untuk konfigurasi
  • Aturannya bisa rumit; utamanya jaga perataan entri seperti contoh
services:
  postgres:
    container_name: postgres
    image: postgres:latest
    ports:
      - "5432:5432"
    restart: always
  pgadmin:
    container_name: pgadmin
    image: dpage/pgadmin4:latest
    ports:
      - "5050:80"
    restart: always
Docker Tingkat Menengah

Bagian utama

  • Bagian berbeda menangani komponen berbeda
  • services: daftar container yang dimuat
  • networks: menangani definisi jaringan
  • volumes: mengatur mounting volume
  • configs: menangani opsi konfigurasi tanpa image khusus
  • secrets: menyediakan opsi untuk kata sandi, token, kunci API, dll.
  • Lihat Dokumentasi Docker Compose untuk info lebih lanjut
services:
  ... # Definisikan container

networks: ... # Definisikan detail jaringan
volumes: ... # Definisikan kebutuhan penyimpanan
configs: ... # Definisikan detail konfigurasi khusus
secrets: ... # Definisikan kata sandi / dll
1 https://docs.docker.com/compose/compose-file/
Docker Tingkat Menengah

Bagian services

  • Mendefinisikan semua resource yang diperlukan aplikasi
  • Terutama menetapkan container dan image yang digunakan
  • Opsi sangat banyak, tetapi hanya berlaku untuk tiap container
  • Indentasi diterapkan sesuai kebutuhan
  • Subbagian pertama adalah nama tiap komponen, diikuti pengaturan
Docker Tingkat Menengah

Contoh services

services:

# Nama resource postgres:
# Nama container, jika tidak acak container_name: postgres
# Image container yang dipakai image: postgres:latest
# Pemetaan port yang diperlukan ports: # Detail jaringan - "5432:5432"
# Resource berikutnya pgadmin: ...
  • Nama resource
  • container_name:, nama yang ditetapkan untuk container; jika tidak akan acak
  • image:, image container yang digunakan
  • ports:, daftar pemetaan port yang diperlukan
  • Diikuti resource berikutnya yang dibutuhkan
Docker Tingkat Menengah

Komentar tambahan

  • Sintaks config.yaml sangat luas
    • Hanya mencakup sebagian kecil opsi compose.yaml
    • Tinjau dokumentasinya!
  • Biasanya tidak perlu membuat file compose.yaml dari nol
1 https://docs.docker.com/compose/compose-file/
Docker Tingkat Menengah

Ayo berlatih!

Docker Tingkat Menengah

Preparing Video For Download...