Docker telah menjadi tools wajib bagi developer modern. Artikel ini akan membahas dasar-dasar Docker dari nol hingga bisa menggunakan Docker Compose untuk multi-container.
Apa itu Docker?
Docker adalah platform untuk mengembangkan, mengirim, dan menjalankan aplikasi dalam container. Container adalah unit standar yang membungkus kode dan dependency-nya sehingga aplikasi berjalan konsisten di environment manapun.

Container vs Virtual Machine
Berbeda dengan Virtual Machine yang menjalankan OS penuh, container berbagi kernel host OS sehingga jauh lebih ringan dan cepat.
| Aspek | Container | Virtual Machine |
|---|---|---|
| Startup | Detik | Menit |
| Ukuran | MB | GB |
| Resource | Sedikit | Banyak |
| Isolasi | Process-level | Full OS |
Instalasi Docker
Untuk macOS, download Docker Desktop atau OrbStack (alternatif yang lebih ringan). Verifikasi instalasi:
docker --version
docker run hello-world
Perintah Dasar Docker

Berikut perintah yang paling sering digunakan:
# Build image dari Dockerfile
docker build -t nama-app .
# Run container
docker run -p 3000:3000 nama-app
# List container yang running
docker ps
# Stop container
docker stop <container_id>
# Hapus image
docker rmi <image_id>
Docker Compose
Untuk aplikasi yang butuh multiple container (misal: web + database), gunakan Docker Compose.
services:
web:
build: .
ports:
- "3000:3000"
depends_on:
- db
db:
image: postgres:16
environment:
POSTGRES_PASSWORD: secret
Jalankan dengan: docker compose up -d
Tip: Selalu gunakan
.dockerignoreuntuk mengecualikannode_modules,.git, dan file tidak perlu dari build context.
Best Practices
- Gunakan multi-stage build untuk image yang lebih kecil
- Pin version gambar (misal
node:20-alpine, bukannode:latest) - Manfaatkan Docker layer cache dengan urutan instruksi yang tepat
- Jangan simpan secrets di Dockerfile


