컨테이너·워크플로우 자동화/DocKer 기본 및 활용

Docker 빌드 최적화를 위한 .dockerignore 활용 전략

Data Jun 2026. 2. 17. 14:58

Docker 이미지를 빌드할 때, Docker는 빌드 컨텍스트 폴더 전체를 Docker 엔진으로 전달합니다.

 

문제는 여기 있습니다.

필요 없는 파일까지 전부 함께 전달된다는 점입니다.

 

예를 들어:

  • .git
  • __pycache__
  • node_modules
  • 대용량 로그 파일

이 파일들이 컨텍스트에 포함되면:

  • 빌드 속도 저하
  • 이미지 용량 증가
  • 캐시 무효화 증가

이를 막기 위해 사용하는 것이 .dockerignore 입니다.

 

1. .dockerignore란?

.dockerignore는

“빌드 컨텍스트에 포함하지 않을 파일 목록”

을 정의하는 파일입니다.

 

동작 방식은 .gitignore와 거의 동일합니다.

 

2. 기본 예시

.git
__pycache__
*.log
node_modules
.env

이렇게 작성하면:

  • 해당 파일/폴더는 Docker에 전달되지 않음
  • COPY로도 복사 불가

즉, 아예 빌드 대상에서 제외됩니다.

 

3. 왜 중요한가?

불필요한 파일을 넣으면:

  • 상자가 커지고
  • 배송이 느려지고
  • 내용물 변경 시 캐시가 깨집니다.

빌드 컨텍스트는 “택배 상자”이고
.dockerignore는 “상자에 넣지 말 것 목록”입니다.

 

.dockerignore는 빌드 컨텍스트를 정리해 이미지 속도와 용량을 최적화하는 필수 설정 파일입니다.