setup project laravel pakai docker | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: setup project laravel pakai docker

Tuesday, May 19, 2026

setup project laravel pakai docker

🐳 Seri Belajar Docker · Artikel 6 dari 10

Setup Project Laravel Baru
Pakai Docker — Tanpa Install
PHP di Lokal!

Lupakan instalasi PHP, Composer, dan segala dependensinya. Dengan setup Laravel Docker, proyekmu langsung jalan di semua mesin — tanpa drama "works on my machine" lagi.

#Docker #Laravel #PHP #DevOps #ZeroToZorro
⏱️
12 Menit
Estimasi Baca
🎯
Pemula
Level Artikel
📅
2026
Tahun Terbit
📦
Artikel 6/10
Seri Zero to Zorro

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.

🧠 Konsep Kunci

"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!

1

Buat Folder Project & Masuk ke Direktori

Pertama, siapkan folder kosong untuk project Laravel kamu. Kita akan generate project ke dalam folder ini.

# Terminal / Command Prompt
mkdir my-laravel-app
cd my-laravel-app
2

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.

# Generate Laravel project via Docker
docker run --rm -v "$(pwd)":/app -w /app
composer:latest create-project laravel/laravel .
Penjelasan flag:
--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!

3

Buat Dockerfile untuk Service PHP

Sekarang buat Dockerfile di root project. File ini mendefinisikan lingkungan PHP yang akan menjalankan Laravel kamu.

# Dockerfile
FROM php:8.3-fpm
# Install ekstensi PHP yang dibutuhkan Laravel
RUN apt-get update && apt-get install -y \
libpng-dev libonig-dev libxml2-dev zip unzip git curl \
&& docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd
# Install Composer dari image resminya
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# Set working directory
WORKDIR /var/www/html
# Copy semua file project
COPY . .
# Set permission
RUN chown -R www-data:www-data /var/www/html/storage \
&& chmod -R 775 /var/www/html/storage /var/www/html/bootstrap/cache
4

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.

# docker-compose.yml
services:
app:
build: .
container_name: laravel_app
volumes:
- .:/var/www/html
networks:
- laravel-net
nginx:
image: nginx:alpine
container_name: laravel_nginx
ports:
- "8080:80"
volumes:
- .:/var/www/html
- ./nginx.conf:/etc/nginx/conf.d/default.conf
depends_on:
- app
networks:
- laravel-net
networks:
laravel-net:
driver: bridge
5

Buat Konfigurasi Nginx (nginx.conf)

Buat file nginx.conf di root project untuk konfigurasi dasar Nginx + PHP-FPM.

# nginx.conf
server {
listen 80;
server_name localhost;
root /var/www/html/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass app:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
6

Build Image & Jalankan Container

Sekarang waktunya build Docker image dan jalankan semua service. Satu perintah untuk seterusnya!

# Build dan jalankan semua container
docker compose up -d --build
# Cek status container
docker compose ps

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.

# Contoh perintah penting yang sering dipakai
# Generate app key
docker compose exec app php artisan key:generate
# Jalankan migration database
docker compose exec app php artisan migrate
# Install package baru via Composer
docker compose exec app composer require spatie/laravel-permission
# Clear cache
docker compose exec app php artisan optimize:clear
# Masuk ke shell container (interaktif)
docker compose exec -it app bash

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.

🗂️ Struktur File Project
my-laravel-app/
├── app/
├── bootstrap/
├── config/
├── database/
├── public/
├── resources/
├── routes/
├── storage/
├── .env # konfigurasi environment
├── Dockerfile # definisi image PHP
├── docker-compose.yml # orchestrasi service
├── nginx.conf # konfigurasi web server
└── composer.json

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:

🐳 Lihat Daftar Isi — Docker from Zero to Zorro
🎉

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

#BelajarDocker #ZeroToZorro #setupLaravelDocker #LaravelDevelopment #DockerCompose #PHPDocker #DevOps #WebDevelopment
📦 Setup Laravel Docker — Artikel 6/10 · Seri Belajar Docker

No comments:

Post a Comment

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux