Builder
package lock으로 npm ci 후 TypeScript를 dist로 컴파일한다.
개발 의존성·운영 의존성·실행 파일을 분리하면 이미지 크기와 공격면, 레이어 캐시를 함께 관리할 수 있다.
package lock으로 npm ci 후 TypeScript를 dist로 컴파일한다.
npm ci --omit=dev로 실행 패키지만 남긴다.
dist·package.json·prod node_modules만 최소 이미지에 복사한다.
digest 고정과 취약점 스캔을 통과한 이미지를 저장한다.
환경 변수·포트·헬스체크로 같은 이미지를 실행한다.
| 경계 | 소유하는 것 | 운영 확인 |
|---|---|---|
| Image | 읽기 전용 실행 템플릿 | tag·digest·산출물 버전 |
| Registry | 배포 가능한 이미지 | 권한·스캔·보존 |
| Container | 실행 인스턴스 | env·port·health |
캐시 핵심: package*.json을 소스보다 먼저 복사해 의존성 레이어를 코드 변경과 분리한다.