도커 네트워크를 이어 실습을 진행했었고, 바로 차후 프로젝트에 대하여 회의를 해서 TIL 저장하는 것을 누락해버렸다..
진행했던 실습의 경우 01.02 TIL에서 다를게 없어 추가적으로 적을 것은 없고 하다보니 문제가 발생하여 해결한 방안 중 하나를 기재해 놓으려고 한다.
도커는 이미지 빌드 시 효율성을 높이기 위하여 이전 빌드한 단계를 캐시로 저장했다가 동일한 입력이 주어지면 캐시된 결과를 재사용한다. --no-cache
옵션은 이러한 동작을 무효시켜 모든 단계를 새로 빌드하도록 하는 명령어이다.
npm install
같은 명령어를 사용할 때 캐시된 레이어를 사용하면 최신 버전의 패키지가 설치되지 않을 수 있기 때문에 --no-cache
를 사용하면 항상 최신 버전을 가져오게 된다. 또 COPY
명령으로 복사된 파일이 변경되어도 업데이트가 반영되지 않는 상황이 발생할 수 있기 때문에 오류가 생긴다면 --no-cache
를 사용해보는 것도 좋은 방안인 것 같다.
docker build --no-cache -t <이미지 이름>:latest .
이미지를 새로 빌드할 때, 변경 사항을 테스트 하거나 최신 라이브러리를 강제로 가져와서 테스트 해야할 때 사용하면 좋을 것 같다.