728x90
개요
Docker를 사용하다 보면 자주 마주치게 되는 것이 바로 볼륨(Volume) 관리입니다.
특히 익명 볼륨의 경우, 제대로 관리하지 않으면 시스템 자원을 불필요하게 차지할 수 있습니다. 본 글에서는 Docker의 익명 볼륨에 대해 자세히 알아보겠습니다.
익명 볼륨이란❓
익명 볼륨은 Docker에서 자동으로 생성되는 데이터 저장소입니다. 특별한 이름이 없이 생성되며, 익명 볼륨은 Docker에서 자동으로 생성되는 데이터 저장소입니다. 특별한 이름이 없이 생성되며, 컨테이너의 데이터를 유지하는데 사용됩니다.
자세한 내용은 아래에서 확인할 수 있습니다.
익명 볼륨이란❓
--rm 옵션을 사용해서 컨테이너를 시작/실행하면, 익명 볼륨이 자동으로 삭제됩니다. 그러나 --rm 옵션 없이 컨테이너를 시작/실행한다면, 컨테이너를 삭제하더라도 익명 볼륨은 제거되지 않습니다.
따라서 컨테이너를 다시 만들어서 실행해도 익명볼륨은 계속해서 생성됩니다.
위 이미지에서 볼 수 있듯이, 수많은 익명 볼륨들이 시스템에 남아있게 되어 불필요한 저장 공간을 차지하게 됩니다. 이러한 상황을 방지하기 위해서는 --rm 옵션을 사용하거나, "docker volume prune" 명령어로 주기적인 정리가 필요합니다.
Docker에서 익명 볼륨의 동작 방식을 이해하는 것은 매우 중요합니다. 특히 컨테이너 생명주기와 관련된 동작을 자세히 살펴보겠습니다.
--rm 옵션을 사용할 때
docker run --rm my-container
- 컨테이너가 제거되면 익명 볼륨도 자동으로 제거됨
- 깔끔한 정리가 가능
--rm 옵션 없이 사용할 때
docker run my-container
docker rm my-container
이 경우 다음과 같은 현상이 발생합니다:
- 컨테이너를 제거(docker rm)해도 익명 볼륨은 남아있음
- 같은 컨테이너를 다시 실행하면:
- 이전 볼륨을
재사용하지 않음 - 새로운 익명 볼륨이 생성됨
- 이전 볼륨을
- 결과적으로:
- 사용하지 않는 익명 볼륨이 계속 쌓임
- 시스템 리소스 낭비 발생
불필요한 볼륨 정리하기
# 특정 볼륨 삭제
docker volume rm VOL_NAME
# 사용하지 않는 모든 볼륨 삭제
docker volume prune
- 임시 컨테이너 실행 시 --rm 옵션 사용하기
- 정기적으로 docker volume prune 실행하기
- 중요한 데이터는 명명된 볼륨 사용하기
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2025.01.09 - 익명 볼륨의 진짜 가치: 임시 저장소를 넘어선 특정 경로 보호 역할 (0) | 2025.01.09 |
---|---|
[TIL, 일일 회고] 2025.01.07 - 헷갈리는 -v 옵션 정리하기: 바인드 마운트와 명명된 볼륨 (0) | 2025.01.07 |
[TIL, 일일 회고] 2025.01.05 - 데이터베이스 벤더란❓ (0) | 2025.01.05 |
[TIL, 일일 회고] 2025.01.04 - Docker Run의 숨겨진 동작 원리: 이미지 자동 다운로드와 로컬 캐시 (0) | 2025.01.04 |
[TIL, 일일 회고] 2025.01.03 - IntelliJ IDEA에서 Excluded Files(제외된 파일) 확인 및 표시하는 방법 (0) | 2025.01.03 |