프로덕션 품질의 Docker image와 container를 빌드하는 것은 확립된 모범 사례를 따릅니다 — image 크기, 보안, 캐싱, 구성, 신뢰성에 대해. 그것들을 따르면 작고, 안전하고, 효율적이고, 유지 관리 가능한 image가 생성됩니다.
image 크기와 효율성
✓ 작은 base image 사용(alpine, slim, distroless) — 더 작고, 더 적은 취약점
✓ MULTI-STAGE build — 최종 image에서 빌드 도구 제외
✓ layer 캐싱을 위해 Dockerfile 순서 지정(코드보다 먼저 의존성)
✓ .dockerignore 사용 — 불필요한 파일(node_modules, .git, secret)을 컨텍스트에서 제외
✓ RUN 명령 결합 및 같은 layer에서 정리(더 작은 layer)
