2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

도커에서 이미지의 빌드 캐시를 지우는 방법은 무엇인가요?

_____
Q: 도커에서 이미지 빌드 캐시를 삭제하는 방법은 무엇인가요?

A: 도커 이미지 빌드 캐시를 삭제하는 방법은 여러 가지가 있습니다.

1. `--no-cache` 옵션 사용
이미지 빌드 시 캐시를 사용하지 않으려면 아래처럼 명령어에 `--no-cache` 옵션을 추가합니다.
```bash
docker build --no-cache -t your_image_name .
```
이렇게 하면 도커는 이전 캐시를 전혀 사용하지 않고 새로 이미지를 빌드합니다.

2. 도커 빌드 캐시 전체 삭제
빌드 캐시를 완전히 정리하려면 다음 명령어를 사용합니다.
```bash
docker builder prune
```
이 명령은 빌드 캐시에서 사용하지 않는 모든 중간 레이어를 제거합니다.
만약 강제로 삭제하려면 아래처럼 `-f` 옵션을 붙입니다.
```bash
docker builder prune -f
```
특정 조건을 설정해 캐시를 청소하려면 아래처럼 사용 가능합니다.
```bash
docker builder prune --filter until=24h
```
(예: 24시간 이상 된 빌드 캐시만 삭제)

3. 도커 이미지 및 컨테이너 정리
빌드 캐시와 관련된 이미지 및 중간 레이어가 남아있을 경우, 다음 명령어로 정리해 줍니다.
```bash
docker image prune
docker system prune
```
각각 사용법은 다음과 같습니다.
- `docker image prune`: 사용하지 않는 이미지 삭제
- `docker system prune`: 사용하지 않는 이미지, 컨테이너, 네트워크, 빌드 캐시 등을 한꺼번에 삭제 (필요 시 `-a` 옵션 추가)

요약하자면, 빌드 캐시를 지우거나 무시하려면 주로 `docker builder prune`과 `docker build --no-cache`를 활용하며, 빌드 관련 캐시와 이미지 정리를 위해 `docker image prune`과 `docker system prune`을 사용합니다.
도커(Docker)는 컨테이너화된 애플리케이션을 개발하고 배포하는 데 매우 유용한 도구입니다.

도커는 이미지 빌드 시 캐시를 사용하여 이전에 빌드한 단계의 결과를 재사용함으로써 빌드 시간을 단축시키고 효율성을 높입니다.

그러나 때때로 이러한 캐시가 문제를 일으키거나, 이미지의 최신 상태를 반영하지 못하는 경우가 발생할 수 있습니다.

이럴 때는 도커의 빌드 캐시를 지우는 것이 필요합니다.

아래에서는 도커 이미지의 빌드 캐시를 지우는 방법에 대해 자세히 설명하겠습니다.

1. 도커 빌드 캐시 이해하기 도커는 `Dockerfile`을 기반으로 이미지를 빌드할 때 각 명령어(예: `RUN`, `COPY`, `ADD`)를 실행한 결과를 캐시합니다.

만약 동일한 명령어가 다시 실행되면, 도커는 이전에 저장된 캐시를 사용하여 빌드 속도를 높입니다.

그러나 이로 인해 이전 상태의 파일이나 패키지가 남아있을 수 있으며, 이는 의도치 않은 결과를 초래할 수 있습니다.



2. 빌드 캐시 지우기 도커의 빌드 캐시를 지우는 방법은 여러 가지가 있습니다.

아래에서 가장 일반적인 방법을 소개합니다.



2.1. `docker builder prune` 명령어 사용 도커는 `docker builder prune` 명령어를 제공하여 사용하지 않는 빌드 캐시를 정리할 수 있습니다.

이 명령어는 기본적으로 사용하지 않는 모든 빌드 캐시를 삭제합니다.

```bash docker builder prune ``` 이 명령어를 실행하면, 삭제할 캐시의 양과 관련된 정보를 보여주고, 확인을 요청합니다.

`-f` 플래그를 추가하면 확인 없이 즉시 삭제할 수 있습니다.

```bash docker builder prune -f ```

2.2. 특정 이미지의 캐시 지우기 특정 이미지에 대한 캐시를 지우고 싶다면, `--no-cache` 플래그를 사용하여 이미지를 빌드할 수 있습니다.

이 경우 도커는 캐시를 사용하지 않고 모든 단계를 새로 실행합니다.

```bash docker build --no-cache -t your_image_name . ``` 이 명령어는 `Dockerfile`이 위치한 디렉토리에서 실행해야 하며, `your_image_name`은 생성할 이미지의 이름입니다.



2.3. 모든 이미지 및 컨테이너 정리 도커의 모든 이미지, 컨테이너, 네트워크, 볼륨을 정리하고 싶다면 `docker system prune` 명령어를 사용할 수 있습니다.

이 명령어는 사용하지 않는 모든 리소스를 삭제합니다.

```bash docker system prune ``` 이 명령어도 확인을 요청하며, `-f` 플래그를 추가하면 확인 없이 즉시 실행됩니다.

추가적으로 `--volumes` 플래그를 사용하면 사용하지 않는 볼륨도 함께 삭제할 수 있습니다.

```bash docker system prune -a --volumes ```

3. 주의사항 - 데이터 손실 : 캐시를 지우면 이전 빌드의 결과가 사라지므로, 필요한 데이터가 있는 경우 미리 백업하는 것이 좋습니다.

- 빌드 시간 증가 : 캐시를 지우면 다음 빌드 시 모든 단계를 새로 실행해야 하므로 빌드 시간이 증가할 수 있습니다.

- 정기적인 관리 : 도커 환경을 정리하고 최적화하기 위해 정기적으로 캐시를 관리하는 것이 좋습니다.

결론 도커의 빌드 캐시는 효율적인 이미지 빌드를 가능하게 하지만, 때때로 이를 지워야 할 필요가 있습니다.

위에서 설명한 방법들을 통해 도커의 빌드 캐시를 효과적으로 관리하고, 필요에 따라 정리할 수 있습니다.

이를 통해 항상 최신 상태의 이미지를 유지하고, 불필요한 리소스를 줄일 수 있습니다.

작성자: 최서연 [비회원] | 작성일자: 1년 전 2024-12-28 18:51:39
조회수: 240 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.