Docker 이미지를 빌드할 때, Docker는 빌드 컨텍스트 폴더 전체를 Docker 엔진으로 전달합니다.
문제는 여기 있습니다.
필요 없는 파일까지 전부 함께 전달된다는 점입니다.
예를 들어:
- .git
- __pycache__
- node_modules
- 대용량 로그 파일
이 파일들이 컨텍스트에 포함되면:
- 빌드 속도 저하
- 이미지 용량 증가
- 캐시 무효화 증가
이를 막기 위해 사용하는 것이 .dockerignore 입니다.
1. .dockerignore란?
.dockerignore는
“빌드 컨텍스트에 포함하지 않을 파일 목록”
을 정의하는 파일입니다.
동작 방식은 .gitignore와 거의 동일합니다.
2. 기본 예시
.git
__pycache__
*.log
node_modules
.env
이렇게 작성하면:
- 해당 파일/폴더는 Docker에 전달되지 않음
- COPY로도 복사 불가
즉, 아예 빌드 대상에서 제외됩니다.
3. 왜 중요한가?
불필요한 파일을 넣으면:
- 상자가 커지고
- 배송이 느려지고
- 내용물 변경 시 캐시가 깨집니다.
빌드 컨텍스트는 “택배 상자”이고
.dockerignore는 “상자에 넣지 말 것 목록”입니다.
.dockerignore는 빌드 컨텍스트를 정리해 이미지 속도와 용량을 최적화하는 필수 설정 파일입니다.
'컨테이너·워크플로우 자동화 > DocKer 기본 및 활용' 카테고리의 다른 글
| Docker 컨테이너가 즉시 종료되는 이유와 디버깅을 위한 ENTRYPOINT 활용 방법 (0) | 2026.02.17 |
|---|---|
| Docker RUN 명령어와 && 사용 이유: 레이어 구조 관점에서 이해하기 (0) | 2026.02.17 |
| Docker COPY 명령어의 동작 원리와 빌드 컨텍스트 이해 (0) | 2026.02.17 |
| Windows + Docker Desktop + WSL2 구조 이해하기 (0) | 2026.02.17 |
| Docker 로그 구조 이해: json-file부터 중앙 수집 시스템까지 (0) | 2026.02.17 |