반응형
.dockerignore을 사용하지 않을 때의 문제점
앞선 글 에서 만들어진 컨테이너 내부를 보면 다음과 같은 파일들이 추가된 것을 볼 수 있다.
이 중 build 폴더와 .git 폴더 그리고 .idea 폴더는 내부에서 자동으로 생성되거나 스프링 앱을 실행하는데 전혀 사용되지 않는 폴더들로 컨테이너로 복사하지 않아도 된다.
이런 폴더들을 복사하지 않기 위해 Dockerfile에서 COPY를 사용할 때 세밀하게 제어해도 괜찮지만, 가장 좋은 방법은 .dockerignore 파일을 사용하는 것이다.
.dockerignore 사용해 복사되지 말아야 할 파일과 폴더 정의하기
.dockerignore는 git의 .gitignore과 매우 비슷하다. 단순히 내부에 컨테이너로 복사되지 말아야 하는 경로나 파일을 추가하면 이 경로나 파일은 복사되지 않는다.
위 스크립트에서는 build/, .idea, .git 경로를 복사하지 않도록 설정했다.
.dockerignore 동작 확인하기
.dockerignore가 동작하는지 확인하기 위해 이미지를 다시 빌드해 컨테이너를 실행해보자.
그러면 다음과 같이 컨테이너 내부에 .git과 .idea 폴더가 없는 것을 확인할 수 있고, build 폴더는 스크립트가 실행돼 새로 빌드된 것을 확인할 수 있다.
반응형
'Docker' 카테고리의 다른 글
[Docker] Dockerfile내부, .env 파일 혹은 터미널을 사용해 환경 변수 설정하는 방법 한 번에 정리하기 (0) | 2025.01.30 |
---|---|
[Docker] Bind Mount 통해 호스트 머신의 경로를 컨테이너 경로와 연결하기 (0) | 2025.01.28 |
[Docker] Named Volume 이란 무엇인가? 사용 방법과 특징 정리 (0) | 2025.01.27 |
[Docker] Anonymous Volume(익명 볼륨) 한 번에 정리하기 (0) | 2025.01.26 |
Docker Hub에 이미지 업로드 하기 (0) | 2025.01.25 |