Docker 이미지 관리는 시스템의 성능과 공간 효율성을 유지하기 위해 중요합니다. 오래되거나 사용하지 않는 이미지를 제거하는 것은 디스크 공간을 확보하고, 관리를 용이하게 하며, 보안을 강화할 수 있습니다. 이 글에서는 Docker 이미지를 효과적으로 정리하는 방법에 대해 설명합니다.
Docker 이미지 제거의 기본
Docker에서 이미지를 제거하는 가장 기본적인 명령어는 docker image rm
입니다. 이 명령어는 하나 이상의 이미지를 제거하는 데 사용됩니다.
docker image rm [OPTIONS] IMAGE [IMAGE...]
옵션으로는 -f
또는 --force
를 사용하여 이미지의 강제 삭제를 할 수 있고, --no-prune
옵션을 사용하여 태그되지 않은 부모 이미지를 삭제하지 않도록 할 수 있습니다.
Docker 이미지 정리 명령어 사용
docker image prune
명령어는 사용하지 않는 이미지를 제거하는 데 사용됩니다. 이 명령어는 기본적으로 사용되지 않는 모든 이미지를 제거하며, -a
옵션을 사용하면 어떤 컨테이너에도 참조되지 않는 모든 이미지를 제거할 수 있습니다.
docker image prune -a
시간 기반 필터링 사용
시간 기반 필터를 사용하여 특정 시간 이전에 생성된 이미지만 제거할 수도 있습니다. 예를 들어, 2017-01-04T00:00:00
이전에 생성된 모든 이미지를 제거하려면 다음과 같은 명령어를 사용합니다.
docker image prune -a --force --filter "until=2017-01-04T00:00:00"
또한, 240h
(10일) 이상 된 이미지를 제거하려면 다음과 같이 명령합니다.
docker image prune -a --force --filter "until=240h"
레이블 필터 사용
레이블 필터를 사용하여 특정 레이블이 있는 이미지만 제거할 수 있습니다. 예를 들어, deprecated
레이블이 있는 이미지를 제거하려면 다음과 같이 명령합니다.
docker image prune --filter="label=deprecated"
레이블을 사용하여 더 복잡한 필터링도 가능합니다. 예를 들어, maintainer
레이블이 john
으로 설정된 이미지만 제거하거나, maintainer
레이블이 없는 이미지를 제거할 수 있습니다.
docker image prune --filter="label=maintainer=john"
docker image prune --filter="label!=maintainer"
결론
Docker 이미지를 정기적으로 정리하면 시스템의 성능을 최적화하고 필요하지 않은 자원의 낭비를 방지할 수 있습니다. docker image rm
과 docker image prune
명령어를 사용하여 효과적으로 이미지를 관리할 수 있습니다. 필요에 따라 시간 기반 필터링이나 레이블 필터링을 사용하여 더 세밀한 제어가 가능합니다.
자세한 내용은 Docker 공식 문서에서 확인할 수 있습니다.
'About > Docker' 카테고리의 다른 글
Docker 컨테이너 최적화를 위한 빌드 컨텍스트 외부 파일 포함 방법 (1) | 2024.11.14 |
---|---|
[Docker] 오류 해결: 'The input device is not a TTY' 문제 원인과 해결 방법 (2) | 2023.11.22 |
[Docker] 도커(Docker)에서 한 번에 모든 이미지 삭제하는 방법 (1) | 2023.11.20 |
[Docker] 볼륨 추가 시 필요 없는 특정 폴더 쉽게 제외하기 (.dockerignore) (0) | 2023.11.19 |
[Docker] Dockerfile에서 RUN과 CMD의 차이점 (0) | 2023.11.18 |