Docker untuk Developer Web
Apa Itu Docker
Container = virtual environment dengan OS minimal, dependencies, dan konfigurasi. Konsisten di semua lingkungan.
Dockerfile Laravel
Multi-stage build: builder untuk compile, runner minimal. Hanya copy hasil compile. Ukuran 10x lebih kecil.
Dockerfile Next.js
Builder dengan npm ci dan build. Runner dengan standalone output. Node.js alpine.
Docker Compose
Satu perintah untuk semua service: db (PostgreSQL+pgvector), redis, api (Laravel), web (Next.js), nginx.
Multi-stage Build
Ukuran dari 1GB ke 150MB. Hanya salin yang diperlukan. Setiap stage punya tujuan spesifik.
Volume & Persistence
Database data di volume terpisah. Source code mount untuk development hot-reload.
Best Practices
Jangan root - buat user khusus. .dockerignore untuk exclude. Health check. Resource limits.
Kesimpulan
Clone + docker compose up = siap. Mulai dengan satu service, pelajari Dockerfile, lalu scale.