Bayangkan kamu lagi masak, dan harus nyalain kompor, oven, rice cooker, dan blender satu per satu — sambil hafal urutan, parameter, dan tombol masing-masing. Melelahkan, kan? Nah, itulah rasanya kalau kamu jalankan banyak container Docker secara manual. Di sinilah Docker Compose tutorial ini hadir untuk menyelamatkan hari-harimu!
Docker Compose adalah tool resmi dari Docker yang memungkinkan kamu mendefinisikan dan menjalankan banyak container sekaligus hanya dengan satu file konfigurasi dan satu perintah. Kalau kamu sudah sampai di artikel ke-5 dari seri Docker from Zero to Zorro ini, berarti kamu sudah siap naik level. Let's go! 🚀
Docker Compose adalah alat untuk mendefinisikan dan menjalankan multi-container Docker application menggunakan file YAML bernama docker-compose.yml.
Satu file. Satu perintah. Semua container berjalan bersama. Sesederhana itu.
🧩 Apa Itu Docker Compose dan Kenapa Kamu Butuh Ini?
Sebelum lanjut ke Docker Compose tutorial yang lebih teknis, mari kita pahami dulu masalahnya. Dalam pengembangan aplikasi nyata — misalnya aplikasi Laravel — kamu butuh setidaknya tiga komponen berjalan bersamaan:
Tanpa Docker Compose, kamu harus menjalankan tiga perintah panjang secara terpisah, memastikan semuanya terhubung ke jaringan yang sama, dan mengingat environment variable masing-masing container. Sangat rawan salah dan membuang waktu.
Dengan Docker Compose? Satu file docker-compose.yml dan satu perintah docker compose up — selesai.
Docker Compose awalnya adalah proyek open-source bernama Fig, dibuat oleh Orchard pada tahun 2013. Docker mengakuisisinya setahun kemudian dan mengintegrasikannya sebagai fitur resmi. Sekarang di Docker versi terbaru, kamu cukup ketik docker compose (tanpa tanda hubung) — langsung jalan!
📝 Struktur File docker-compose.yml yang Wajib Kamu Pahami
File docker-compose.yml adalah jantung dari Docker Compose. Formatnya menggunakan YAML — bahasa konfigurasi yang human-readable dan mudah ditulis. Mari kita bedah strukturnya:
Indentation (lekukan) di YAML itu krusial! Gunakan 2 spasi, bukan tab. Satu kesalahan indentasi bisa bikin seluruh konfigurasi gagal dibaca. Kamu bisa pakai ekstensi YAML di VS Code untuk auto-formatting.
'3.8' untuk fitur terbaru.🚀 Docker Compose Tutorial: Jalankan Stack Aplikasi Web Dari Nol
Cukup teorinya — sekarang kita praktik! Di bagian Docker Compose tutorial ini, kita akan membangun stack sederhana berisi Nginx (web server) + MySQL (database) + Redis (cache). Inilah fondasi dari aplikasi web modern.
Buat Direktori Project
Pertama, buat folder untuk project kita dan masuk ke dalamnya.
Buat File docker-compose.yml
Buat file docker-compose.yml dengan isi berikut. Ini adalah stack 3 service sekaligus:
Buat Halaman HTML Sederhana
Buat folder html/ dan tambahkan file index.html sederhana agar Nginx punya sesuatu untuk ditampilkan:
Jalankan Semua Container!
Inilah momen yang kamu tunggu-tunggu. Satu perintah untuk menjalankan semua service:
Buka browser, akses http://localhost:8080 — dan voilà! 🎉
Key depends_on memastikan service tertentu dimulai setelah service lain siap. Tapi perhatikan: depends_on hanya menunggu container berjalan, bukan menunggu aplikasi di dalamnya benar-benar siap. Untuk production, tambahkan healthcheck agar lebih andal.
⚡ Perintah-Perintah Docker Compose Tutorial yang Paling Sering Dipakai
Setelah tahu cara membuat file konfigurasi, kamu perlu hafal perintah-perintah penting ini. Bookmark atau catat — kamu pasti sering kembali ke sini!
Perintah docker compose down -v akan menghapus semua named volumes — termasuk data database kamu! Gunakan hanya jika kamu yakin ingin reset total. Untuk sehari-hari, cukup pakai docker compose down tanpa flag -v.
Jangan taruh password dan secret langsung di docker-compose.yml. Buat file .env di folder yang sama, lalu referensikan variabelnya:
# .env
MYSQL_ROOT_PASSWORD=supersecret
MYSQL_DATABASE=myapp
# docker-compose.yml
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
Seri Belajar Docker: Docker from Zero to Zorro
Artikel ini adalah bagian ke-5 dari 10 artikel dalam seri lengkap belajar Docker dari nol sampai mahir. Kunjungi halaman utama seri untuk melihat daftar isi lengkapnya.
🗺️ Lihat Daftar Isi Seri Lengkap →Kamu Sekarang Sudah Bisa Orkestrasi Multi-Container! 🎊
Di artikel Docker Compose tutorial ini, kamu sudah belajar banyak:
- 📌 Apa itu Docker Compose dan mengapa ini wajib dikuasai setiap developer
- 📌 Struktur file
docker-compose.ymlbeserta elemen-elemen pentingnya - 📌 Cara membangun stack web lengkap (Nginx + MySQL + Redis) dari nol
- 📌 Perintah-perintah Docker Compose yang paling sering digunakan
- 📌 Best practice: penggunaan file
.envuntuk keamanan konfigurasi
Docker Compose adalah jembatan penting menuju pengembangan aplikasi modern berbasis microservice. Kuasai ini dengan baik, karena di artikel berikutnya kita akan langsung setup project Laravel menggunakan Docker Compose — tanpa perlu install PHP di komputer lokal kamu sama sekali!
💬 Punya pertanyaan atau menemukan kendala saat praktik? Tulis di kolom komentar di bawah! Kamu juga bisa share artikel ini ke teman developer lain yang lagi belajar Docker — biar makin banyak yang terbantu. 🙏
No comments:
Post a Comment