Dev./Docker

[Docker] docker build 중 COPY / ADD에서 특정 파일은 제외하기

인쥭 2021. 10. 18. 16:45
반응형

참고

 

Dockerfile reference

 

docs.docker.com

  • Docker 이미지를 빌드하는 디렉토리에 .dockerignore 파일을 작성하는 것으로 COPY나 ADD에서 임의의 파일을 제외할 수 있다.

 

.dockerignore 파일 작성 예시

  • 아래의 예시는 test, README.md를 제외한 .md, node_modules라는 이름을 갖는 파일 또는 디렉토리를 제외한다.
# .dockerignore 파일에도 주석을 작성할 수 있다.
test
*.md
!README*.md
node_modules

 

사용 가능한 특수 문자

  • # : 주석으로 인식되며, 해당 행은 무시된다.
  • * : 여러 글자에 해당하는 와일드카드로 사용된다.
    • */temp* : 한 단계 하위 디렉토리에서 temp로 시작하는 파일 및 디렉토리를 모두 제외한다.
    • */*/temp* : 두 단계 하위의 디렉토리에서 temp로 시작하는 파일 및 디렉토리를 모두 제외한다.
  • ** : 모든 디렉토리를 지정하는 와일드카드로 사용된다.
    • **/*.go : 단계에 상관 없이 .go 확장자를 갖는 모든 파일을 제외한다.
  • ? : 한 글자에 해당하는 와일드카드로 사용된다.
    • temp? : tempa, tempb 등을 제외한다.
  • ! : 규칙에서 제외할 파일을 작성한다.