Docker ps --filter 옵션을 사용하는 방법
Docker에서는 docker ps 명령의 --filter 옵션을 사용하여 특정 조건에 맞는 컨테이너만 조회할 수 있습니다.
기본 형태
docker ps --filter "조건"
1. 컨테이너 이름 필터
특정 이름을 포함하는 컨테이너를 조회합니다.
docker ps -q --filter name=nginx
6eaa629f3cde
2. 이름 기준 컨테이너 삭제
docker ps --filter 결과를 이용해 특정 컨테이너를 삭제할 수 있습니다.
docker rm -f `docker ps -aq --filter name=nginx`
3. 종료된 컨테이너 삭제
상태가 exited 인 컨테이너를 삭제할 수 있습니다.
docker rm -f `docker ps -aq --filter status=exited`
83ca65ffc2b9
필터 옵션
- name : 컨테이너 이름
- status : 상태 (running, exited 등)
- ancestor : 특정 이미지 기반
- network : 네트워크
- volume : 특정 볼륨 사용
- label : 라벨 기준

이미지 기준 조회
docker ps --filter ancestor=nginx
실행 중 컨테이너 조회
docker ps --filter status=running
Docker 시스템 정리 (docker system prune)
Docker는 컨테이너, 이미지, 네트워크, 볼륨이 계속 누적되기 때문에 주기적인 정리 작업(prune) 이 필요합니다.
4. docker system prune 명령
사용하지 않는 Docker 리소스를 삭제합니다.
docker system prune
기본적으로 다음 항목이 삭제됩니다.
- 중지된 컨테이너
- 사용되지 않는 네트워크
- dangling 이미지
- build cache
5. 명령어 옵션
docker system prune --help
Usage: docker system prune [OPTIONS]
Remove unused data
Options:
-a, --all Remove all unused images not just dangling ones
--filter filter Provide filter values (e.g. 'label=<key>=<value>')
-f, --force Do not prompt for confirmation
--volumes Prune volumes
6. 모든 사용하지 않는 리소스 삭제
다음 명령은 사용하지 않는 컨테이너, 네트워크, 이미지, 볼륨을 모두 삭제합니다.
docker system prune --all --volumes
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all volumes not used by at least one container
- all images without at least one container associated to them
- all build cache
확인 메시지
Are you sure you want to continue? [y/N] y
# 네트워크 삭제
Deleted Networks:
nginx_default
...
# 컨테이너 삭제
Deleted Containers:
61beb0cf0bee0ff47347359959901df102c8ea59a3970cdff028459c513e6cb5
...
# 볼륨 삭제
Deleted Volumes:
3605cdb129de6d589f7b3efe2f7e90504a35215b8d0e9a1c2651b4e5c7990572
...
# 이미지 삭제
Deleted Images:
untagged: nginx:1.15
untagged: nginx@sha256:23b4dcdf0d34d4a129755fc6f52e1c6e23bb34ea011b315d87e193033bcd1b68
...
deleted: sha256:174f5685490326fc0a1c0f5570b8663732189b327007e47ff13d2ca59673db02
# 총 정리된 용량
Total reclaimed space: 11.1GB
7. 정리 후 상태 확인
이미지 확인
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
볼륨 확인
$ docker volume ls
DRIVER VOLUME NAME
네트워크 확인
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
d36fdc5e5cfb bridge bridge local
8d26fac8b1d1 host host local
64e6a5935b61 none null local
8. 확인 없이 자동 정리
자동화 스크립트에서 사용할 경우 다음 옵션을 사용합니다.
docker system prune --all --force --volumes
9. 실무에서 자주 사용하는 정리 명령
종료된 컨테이너 삭제
docker container prune
사용하지 않는 이미지 삭제
docker image prune -a
사용하지 않는 볼륨 삭제
docker volume prune
전체 정리
docker system prune -a --volumes
참고사이트
- https://docs.docker.com/engine/reference/commandline/ps/
'리눅스' 카테고리의 다른 글
| [draft] Ansible Pull 모드를 사용하여 NGINX를 설치하는 방법 (0) | 2026.03.09 |
|---|---|
| [draft] Ansible Playbook에서 현재 날짜 및 시간 얻기 (0) | 2026.03.09 |
| [draft] CentOS 7에서 고정 IP를 설정하는 방법 (0) | 2026.03.08 |
| [draft] 우분투 22.04에서 Apache를 소스 컴파일하여 설치하는 방법 (0) | 2026.03.08 |
| [draft] Docker 컨테이너 터미널 프롬프트(PS1) 색상을 변경하는 방법 (0) | 2026.03.08 |