📖 Konsep Dasar Container
- Isolasi: setiap container punya lingkungan sendiri.
- Ringan: berbagi kernel host, lebih cepat dibanding VM.
- Portabilitas: bisa dijalankan di laptop, server, atau cloud tanpa perubahan.
- Reproducibility: hasil build sama di semua lingkungan.
🔄 VM vs Container
| Aspek |
VM |
Container |
| OS |
Butuh OS lengkap |
Berbagi kernel host |
| Startup |
Lambat (menit) |
Cepat (detik) |
| Resource |
Lebih berat |
Ringan |
| Kegunaan |
Legacy apps, isolasi penuh |
Microservices, deployment cepat |
⚙️ Workflow Docker
- Tulis
Dockerfile → definisi image.
- Build image →
docker build.
- Jalankan container →
docker run.
- Bagikan image → push ke Docker Hub/registry.
🔹 Contoh Dockerfile
# Dockerfile
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]