Docker 자원 관리(컨테이너, 이미지, 볼륨, 네트워크 정리하기)
Docker를 장기간 운영하면 다음과 같은 리소스가 계속 누적됩니다.
- 중지된 컨테이너
- 사용하지 않는 이미지
- 연결되지 않은 볼륨
- 사용되지 않는 네트워크
이러한 리소스가 쌓이면 디스크 공간 부족, 성능 저하, 관리 복잡도 증가 문제가 발생할 수 있습니다.
따라서 주기적으로 Docker 리소스를 정리하여 시스템 자원을 효율적으로 관리하는 것이 중요합니다.
1. 컨테이너 관리
컨테이너 중지
- 특정 컨테이너를 중지합니다.
docker container stop [컨테이너ID 또는 이름]
docker container stop node-app
컨테이너 삭제
- 중지된 컨테이너를 삭제합니다.
docker container rm [컨테이너ID 또는 이름]
docker container rm node-app
모든 컨테이너 중지
- 현재 실행 중인 모든 컨테이너를 중지합니다.
docker stop $(docker ps -aq)
특정 컨테이너 삭제 (이름 기준)
- node-app 컨테이너를 삭제합니다.
docker rm -f $(docker ps -aq --filter "name=node-app")
모든 컨테이너 삭제
docker rm $(docker ps -aq)
주의 : 실행 중인 컨테이너는 삭제되지 않습니다.
docker rm -f $(docker ps -aq)
2. Docker 이미지 관리
Docker 이미지는 컨테이너 실행을 위한 기본 템플릿입니다.
사용하지 않는 이미지가 많아지면 디스크 공간을 크게 차지할 수 있습니다.
특정 이미지 삭제
- anti1346/node-app 이미지 삭제
docker rmi -f $(docker images -aq --filter=reference='anti1346/node-app')
모든 이미지 삭제
docker rmi $(docker images -aq)
주의 : 실행 중인 컨테이너가 사용하는 이미지는 삭제되지 않습니다.
3. Docker 볼륨 관리
Docker 볼륨은 컨테이너 데이터를 영구 저장하기 위한 저장소입니다.
Dangling 볼륨이란?
Dangling 볼륨은 어떤 컨테이너와도 연결되지 않은 상태의 볼륨을 의미합니다.
예
- 컨테이너 삭제 후 남은 볼륨
- 테스트 중 생성된 볼륨
Dangling 볼륨 목록 조회
docker volume ls -qf dangling=true
Dangling 볼륨 삭제
docker volume rm $(docker volume ls -qf dangling=true)
Dangling 볼륨 정리 (권장)
- Docker에 제공하는 정리 명령어
docker volume prune
- 특정 필터 사용
docker volume prune --filter "dangling=true"
4. Docker 네트워크 관리
컨테이너 간 통신을 위해 Docker는 네트워크를 생성합니다.
테스트 환경에서는 불필요한 네트워크가 많이 남을 수 있습니다.
사용하지 않는 네트워크 정리
docker network prune
5. Docker 시스템 전체 정리
Docker는 전체 리소스를 한 번에 정리하는 명령어를 제공합니다.
전체 정리
docker system prune
- 정리 대상
- 중지된 컨테이너
- 사용하지 않는 네트워크
- dangling 이미지
- build cache
모든 이미지까지 정리
docker system prune -a
6. 리소스별 정리 명령어
중지된 컨테이너 정리
docker container prune
사용하지 않는 이미지 정리
docker image prune
사용하지 않는 볼륨 정리
docker volume prune
사용하지 않는 네트워크 정리
docker network prune
7. Docker 자원 관리 Best Practice
운영 환경에서는 다음과 같은 방식으로 관리하는 것을 권장합니다.
디스크 사용량 확인
docker system df
TYPE TOTAL ACTIVE SIZE
Images 15 4 3.2GB
Containers 8 2 500MB
Volumes 6 3 1.1GB
주기적 정리 (cron)
- 매주 Docker 정리
docker system prune -f
- cron 설정
0 3 * * 0 docker system prune -f
운영 환경 권장 정리 순서
- 컨테이너 정리
docker container prune
- 이미지 정리
docker image prune
- 볼륨 정리
docker volume prune
- 네트워크 정리
docker network prune
Docker 환경에서 자원을 효율적으로 관리하고 정리하는 데 도움이 됩니다.
'리눅스' 카테고리의 다른 글
| [draft] docker commit 명령어 (0) | 2026.03.12 |
|---|---|
| [draft] 우분투에서 cron 작업 로그를 별도의 파일로 분리하는 방법 (0) | 2026.03.11 |
| [draft] docker inspect 명령어 (0) | 2026.03.11 |
| [draft] Docker 이미지를 파일로 저장하고 불러오는 방법 (0) | 2026.03.11 |
| [draft] Spring Boot 프로젝트 생성 및 Gradle로 빌드하기 (0) | 2026.03.11 |