Menulis Berkas Compose
Pelajari sintaks YAML untuk `docker-compose.yml` guna menentukan layanan, jaringan, dan volume.
Menulis Berkas Compose adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
File Compose: Cetak Biru
Selamat datang di pembelajaran menulis file Docker Compose! File docker-compose.yml adalah cetak biru Anda untuk mendefinisikan dan menjalankan aplikasi Docker yang terdiri dari banyak kontainer.
File ini menggunakan sintaks YAML untuk mengonfigurasi layanan, jaringan, dan volume aplikasi Anda dalam satu file.

YAML: Penyegaran Singkat
File Docker Compose ditulis dalam YAML (YAML Ain't Markup Language). YAML adalah standar serialisasi data yang ramah bagi manusia.
- Pasangan Kunci-Nilai:
key: value - Daftar: Item diawali tanda hubung (
- item) - Indentasi: Sangat penting untuk menentukan struktur dan hierarki. Gunakan spasi, bukan tab!
Kunci `version`
Setiap file docker-compose.yml dimulai dengan kunci version. Kunci ini menentukan versi format file Compose dan membantu Docker Compose memahami cara menafsirkan file Anda.
Untuk sebagian besar aplikasi modern, versi '3.8' atau versi '3.x' serupa direkomendasikan.
version: '3.8'Mendefinisikan `services`
Bagian services adalah tempat Anda mendefinisikan kontainer (layanan) individual yang membentuk aplikasi Anda. Setiap layanan mewakili sebuah komponen, seperti server web atau basis data.
Di bawah services, Anda mencantumkan setiap layanan menggunakan nama yang Anda pilih.
version: '3.8'
services:
web:
# Service configuration goes here
database:
# Another service's configuration`image` dan `ports` Layanan
Di dalam definisi layanan, image menentukan citra Docker yang akan digunakan (misalnya, nginx:latest). Kunci ports memetakan porta kontainer ke porta host sehingga memungkinkan akses eksternal.
"80:80"memetakan porta host 80 ke porta kontainer 80.
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"`volumes` Layanan
Kunci volumes dalam sebuah layanan memungkinkan Anda memasang jalur dari mesin host ke dalam kontainer, atau menggunakan volume bernama untuk penyimpanan persisten.
Contoh ini memasang direktori lokal ./app ke /usr/src/app di dalam kontainer.
version: '3.8'
services:
app:
image: my-node-app
volumes:
- ./app:/usr/src/appVariabel `environment` Layanan
Gunakan kunci environment untuk meneruskan variabel lingkungan ke kontainer layanan Anda. Hal ini penting untuk konfigurasi yang mungkin berubah antarlingkungan (misalnya, string koneksi basis data).
Variabel dapat dicantumkan sebagai pasangan kunci-nilai atau dalam format daftar.
version: '3.8'
services:
backend:
image: my-api
environment:
- DATABASE_URL=postgres://user:pass@host:5432/db
- NODE_ENV=development`networks` dan `volumes` Tingkat Teratas
Selain mendefinisikannya di dalam layanan, Anda juga dapat mendeklarasikan volume bernama dan jaringan khusus di tingkat teratas file docker-compose.yml Anda.
Hal ini memungkinkan definisi untuk persistensi data dan komunikasi antarkontainer menjadi lebih teratur serta dapat digunakan kembali.
version: '3.8'
services:
# ... service definitions ...
networks:
my_app_network:
# custom network configuration
volumes:
db_data:
# named volume configurationMenggabungkan Semuanya
Berikut contoh singkat yang menggabungkan hal-hal yang telah kita pelajari. Contoh ini mendefinisikan layanan web dan layanan basis data dengan menggunakan image, port, dan volume bernama.
Perhatikan bagaimana indentasi membentuk strukturnya.
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- web_content:/usr/share/nginx/html
db:
image: postgres:13
environment:
- POSTGRES_DB=mydb
- POSTGRES_USER=user
- POSTGRES_PASSWORD=secret
volumes:
web_content:
db_data:Pemeriksaan File Compose
Manakah dari cuplikan YAML berikut yang mendefinisikan layanan Docker Compose bernama 'api' dengan benar, menggunakan image 'myapi:1.0' dan memetakan port kontainer 3000 ke port host 8080?
Ringkasan: Dasar-Dasar File Compose
Bagus! Anda telah mempelajari dasar-dasar penulisan file docker-compose.yml.
- File ini diawali dengan
version. servicesmendefinisikan komponen aplikasi Anda.- Setiap layanan menggunakan
image, dapat mengeksposports, menggunakanvolumesuntuk persistensi, dan menetapkan variabelenvironment. networksdanvolumestingkat teratas memungkinkan konfigurasi lanjutan.
Menguasai struktur YAML ini merupakan kunci untuk mengatur aplikasi dengan banyak kontainer!
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menulis Berkas Compose” gratis?
Ya — teks lengkap “Menulis Berkas Compose” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menulis Berkas Compose”?
Pelajari sintaks YAML untuk `docker-compose.yml` guna menentukan layanan, jaringan, dan volume. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Menulis Berkas Compose” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Apa Itu Docker Compose?
- Menulis Berkas Compose
- Menerapkan Aplikasi Multi-Layanan
- Variabel Lingkungan dan File .env