Pernah nggak, kamu udah semangat mau mulai project Laravel — tapi langsung mentok gara-gara PHP versinya salah, Composer belum keinstall, atau ekstensi PHP yang dibutuhin nggak ada? Rasanya kayak mau masak mie instan tapi kompor gas habis. Setup Laravel Docker hadir sebagai solusi elegan: kamu nggak perlu install PHP sekalipun di laptop kamu.
Di artikel ke-6 dari seri Belajar Docker: Zero to Zorro ini, kamu bakal belajar cara bikin project Laravel baru sepenuhnya lewat Docker — mulai dari nge-generate project, konfigurasi container, sampai Laravel siap diakses di browser. Nggak ada instalasi PHP, nggak ada Composer di lokal, dan nggak ada drama dependensi. Cuma Docker, terminal, dan semangat belajar.
"Docker sebagai Lingkungan Kerja, Bukan Sekadar Alat Deployment"
Kebanyakan developer menggunakan Docker hanya untuk production. Padahal Docker bisa jadi lingkungan development lengkap — PHP, Composer, Node.js, database — semua jalan di dalam container. Laptop kamu tetap bersih, project kamu tetap konsisten.
🤔 Kenapa Setup Laravel Docker Lebih Masuk Akal?
Bayangkan kamu pindah ke kos baru. Kamu nggak bawa kompor, panci, dan peralatan masak dari rumah — kamu langsung pakai dapur yang udah disediain. Itulah filosofi Docker untuk development: kamu nggak bawa instalasi PHP ke laptop kamu, tapi pakai "dapur" container yang udah siap pakai.
| Aspek | ⚙️ Install PHP Lokal | 🐳 Pakai Docker |
|---|---|---|
| Instalasi awal | PHP, Composer, ekstensi manual | Cukup Docker Desktop |
| Konsistensi tim | "Works on my machine" 😅 | Semua mesin = hasil sama |
| Ganti versi PHP | Uninstall, install ulang | Ganti image, selesai |
| Laptop tetap bersih | ❌ Banyak software terinstall | ✅ Hanya Docker |
| Onboarding developer baru | 1-2 hari setup lingkungan | 30 menit, langsung coding |
Fakta Menarik
Laravel sendiri punya tool resmi bernama Laravel Sail — sebuah Docker Compose setup yang dibuat khusus untuk development Laravel. Ini bukti bahwa tim Laravel sendiri mendorong penggunaan Docker sebagai standar development modern!
🛠️ Langkah-Langkah Setup Laravel Docker dari Nol
Kita akan buat project Laravel baru sepenuhnya lewat Docker — tanpa install PHP satu baris pun di laptop. Pastikan kamu sudah punya Docker Desktop terinstall (kalau belum, cek Artikel 1 di seri ini). Yuk mulai!
Buat Folder Project & Masuk ke Direktori
Pertama, siapkan folder kosong untuk project Laravel kamu. Kita akan generate project ke dalam folder ini.
Generate Project Laravel Pakai Docker (Tanpa Install PHP!)
Ini bagian ajaibnya. Kita pakai container PHP sementara untuk menjalankan Composer dan membuat project Laravel baru. Container ini akan otomatis terhapus setelah selesai.
--rm = hapus container setelah selesai ·
-v = mount folder lokal ke container ·
-w = set working directory di dalam container
Tips Pro
Di Windows, ganti $(pwd) dengan ${PWD} jika menggunakan PowerShell, atau %cd% jika menggunakan CMD. Paling mudah: pakai WSL2 dan permasalahan ini hilang seketika!
Buat Dockerfile untuk Service PHP
Sekarang buat Dockerfile di root project. File ini mendefinisikan lingkungan PHP yang akan menjalankan Laravel kamu.
Buat docker-compose.yml untuk Orchestrasi
Docker Compose akan mengatur service PHP-FPM dan Nginx supaya bekerja sama. Kita tambahkan juga Nginx sebagai web server.
Buat Konfigurasi Nginx (nginx.conf)
Buat file nginx.conf di root project untuk konfigurasi dasar Nginx + PHP-FPM.
Build Image & Jalankan Container
Sekarang waktunya build Docker image dan jalankan semua service. Satu perintah untuk seterusnya!
Setelah selesai, buka browser dan akses: http://localhost:8080 — Halaman welcome Laravel seharusnya muncul! 🎉
Perhatian
Jangan lupa setting file .env Laravel kamu! Salin dari .env.example dan generate app key dengan perintah: docker compose exec app php artisan key:generate
⚡ Jalankan Artisan & Composer via Docker — Bukan dari Lokal
Karena PHP tidak ada di lokal, semua perintah Artisan dan Composer harus dijalankan di dalam container. Caranya? Pakai docker compose exec. Ini setara dengan masuk ke dalam container dan menjalankan perintah di sana.
Insight Penting
Jadikan kebiasaan: setiap kali kamu hendak menjalankan php artisan atau composer, selalu awali dengan docker compose exec app. Anggap saja ini "tombol portal" yang mengirim perintahmu masuk ke dalam container.
Hanya ada 3 file Docker yang perlu kamu buat: Dockerfile, docker-compose.yml, dan nginx.conf. Sisanya adalah file Laravel standar.
Tips: Tambahkan ke .dockerignore
Buat file .dockerignore dan isi dengan vendor/, .git/, dan node_modules/. Ini bikin proses build image jadi jauh lebih cepat karena Docker tidak perlu menyalin folder yang berat tersebut ke dalam image.
Seri Lengkap
Belajar Docker: Zero to Zorro
Artikel ini adalah bagian dari seri 10 artikel lengkap tentang Docker. Kunjungi halaman utama untuk melihat semua artikel:
Kesimpulan
Kita sudah berhasil melakukan setup Laravel Docker dari nol — tanpa menginstall PHP satu pun di laptop. Berikut rangkuman perjalanan kita hari ini:
Generate project Laravel baru menggunakan container Composer sementara — tanpa install apa pun di lokal.
Membuat Dockerfile dengan PHP 8.3-FPM dan semua ekstensi yang dibutuhkan Laravel.
Menyiapkan docker-compose.yml yang mengorkestrasi service PHP-FPM dan Nginx bersama-sama.
Menjalankan Artisan dan Composer melalui docker compose exec — workflow yang bersih dan konsisten.
Di artikel selanjutnya, kita akan memperdalam konfigurasi Nginx + PHP-FPM + MySQL untuk membuat stack Laravel yang lebih production-ready. Stay tuned! 🚀
💬 Gimana pengalamanmu setup Laravel pakai Docker?
Cerita di kolom komentar — error apa yang kamu temui, atau tips yang ingin kamu bagikan ke pembaca lain!
Jika artikel ini membantu, share ke teman developer-mu — mungkin dia juga lagi nyari cara ini! 🙌
🏷️ Tags Artikel
No comments:
Post a Comment