Docker 캐시 삭제하고 재빌드하기
Docker를 사용하여 애플리케이션을 개발하다 보면, Docker 이미지 빌드 시 생성된 캐시가 쌓여 디스크 공간을 차지하게 됩니다. 캐시를 주기적으로 관리하지 않으면, 결국 시스템의 저장 공간이 부족해질 수 있습니다. 이번 포스팅에서는 Docker 캐시가 무엇인지, 왜 문제가 될 수 있는지, 그리고 이를 어떻게 삭제하고 이미지를 재빌드할 수 있는지에 대해 알아보겠습니다.
Docker 캐시란?
Docker 캐시는 이미지를 빌드할 때, 각 단계별로 생성되는 중간 이미지들을 저장하여 이후 빌드 시 재사용할 수 있도록 합니다. 이렇게 함으로써 동일한 이미지 빌드를 반복할 때 소요되는 시간을 줄이고, 효율적으로 빌드 과정을 관리할 수 있습니다. Docker는 이러한 중간 이미지를 캐시 형태로 보관하게 되며, 이는 docker build
명령어를 실행할 때 확인할 수 있습니다.
Docker 캐시의 문제점
Docker 캐시는 빌드 시간을 단축하는 장점이 있지만, 시간이 지남에 따라 불필요한 캐시 데이터가 쌓여 시스템의 디스크 공간을 차지하게 됩니다. 특히, 애플리케이션을 빈번하게 업데이트하고 이미지를 자주 빌드하는 경우, 캐시 데이터가 빠르게 증가할 수 있습니다. 이를 방치하면 결국 시스템의 디스크 공간이 부족해져 다른 작업에 지장을 줄 수 있습니다.
Docker 캐시 삭제하기
Docker 캐시를 삭제하는 방법은 매우 간단합니다. docker builder prune
명령어를 사용하면 사용하지 않는 모든 빌드 캐시를 삭제할 수 있습니다. 다음과 같은 절차로 진행할 수 있습니다:
터미널을 열고 다음 명령어를 입력합니다.
docker builder prune
시스템은 다음과 같은 경고 메시지를 표시합니다.
WARNING! This will remove all dangling build cache. Are you sure you want to continue? [y/N]
계속 진행하려면 'y'를 입력합니다. 그러면 시스템은 사용하지 않는 빌드 캐시를 모두 삭제합니다. 이 과정에서 삭제된 캐시 목록과 용량을 확인할 수 있습니다.
Docker 재빌드
캐시를 삭제한 후, Docker 이미지를 다시 빌드하려면 docker build
명령어를 사용하면 됩니다. 예를 들어, melotts
라는 이미지를 빌드하려면 다음과 같이 명령어를 입력합니다:
docker build -t melotts .
위 명령어는 현재 디렉토리에 있는 Dockerfile을 기반으로 melotts
이미지를 빌드합니다. 캐시가 삭제된 상태이므로 모든 단계가 처음부터 다시 빌드되며, 이는 다소 시간이 걸릴 수 있습니다. 하지만, 이렇게 하면 오래된 캐시 데이터로 인한 문제를 방지할 수 있습니다.
'기타 > Tips' 카테고리의 다른 글
AWS 라이트세일 서버 시간 오류 해결 방법 (0) | 2024.11.05 |
---|---|
쳇지피티 ChatGPT OpenAI API 발급하기 (0) | 2024.06.29 |
마크업 에디터로 블로그 포스팅하기 (0) | 2024.01.20 |
Visual Code 특정 단어 하이라이트 시키기 (0) | 2022.07.31 |
Github README.md 에 이미지 올리기 (0) | 2022.07.26 |