SOLID Docker
하드 제한
- Dockerfile을 읽기 쉽고 짧게 유지하세요. 메가 레이어 대신 스테이지를 분할하세요.
- 가능한 경우 이미지당 하나의 서비스 관심사로 유지하세요.
관행
- 베이스 이미지 태그를 고정하세요 (프로덕션에서
latest사용을 피하세요). - 런타임 이미지를 작게 유지하기 위해 멀티스테이지 빌드를 선호하세요.
- 비밀번호, 토큰, 개인 키를 레이어에 절대 포함하지 마세요.
.dockerignore를 사용하여.venv,data/,.git, 로컬 설정 파일을 제외하세요.- 스택이 허용하는 경우 최종 스테이지에서 비루트로 실행하세요.
- 호스트 IP를 하드코딩하는 대신 필요한 환경 변수를 문서화하세요.
체크리스트
- 이미지에 비밀번호 없음
- 빌드 컨텍스트 최소화됨
- 런타임 이미지에 필요한 것만 포함됨