본문 바로가기
기타/Tips

Docker 캐시 삭제하고 재빌드하기

by makepluscode 2024. 6. 27.
반응형

Docker 캐시 삭제하고 재빌드하기

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 이미지를 빌드합니다. 캐시가 삭제된 상태이므로 모든 단계가 처음부터 다시 빌드되며, 이는 다소 시간이 걸릴 수 있습니다. 하지만, 이렇게 하면 오래된 캐시 데이터로 인한 문제를 방지할 수 있습니다.

반응형