Container vs VM. Image, container, registry. Dockerfile dan docker-compose.
Lightweight virtualization. Bundle aplikasi plus dependency. Berbeda dengan VM: shared kernel, lebih cepat, lebih hemat resource. Docker bikin container mainstream sejak 2013.
Image: blueprint, immutable. Container: instance dari image, mutable. Bisa run banyak container dari image sama. Image disimpan di registry (Docker Hub, AWS ECR, GHCR).
File text yang define cara build image. FROM (base image). RUN (execute command). COPY (copy file). ENV (env var). EXPOSE (port). CMD (default command). Docker build bikin image dari Dockerfile.
Define multi-container application di YAML. docker-compose.yml. Up dan down semua service sekaligus. Local development jadi mudah. Production pakai Kubernetes (lihat materi 21).
Multi-stage build untuk smaller image. Tidak run as root. Pakai base image official. Pin version (jangan latest). Layer caching untuk speed. Security scan dengan Trivy.