본문 바로가기
  • AI 개발자가 될래요
로보틱스

[도커/Docker] 중지된 컨테이너 한번에 삭제하는 명령어

by 꿀개 2024. 12. 23.

[도커/Docker] 중지된 컨테이너 한번에 삭제하는 명령어

 

1. 실행 중 혹은 중지된 컨테이너 보는 명령어

docker ps -a

 

명령어 수행 결과 실행 중인 컨테이너는 STATUS 정보가 Up ~~ 식으로 실행된 지 몇시간 지났다 라고 뜰 것이고,

중지된 컨테이너는 아래 화면처럼 Exited ~ 라고 뜰 것이다.

 

docker ps -a

 

2. 중지된 상태의 컨테이너 한번에 삭제 명령어

중지된 상태의 컨테이너는 종료된 것이 아니기 때문에 백그라운드 어딘가에서 실행되고 있어 용량을 차지할 것이다.

고로 삭제할 필요성이 있다.

 

2.1. 컨테이너 중지 및 삭제

컨테이너를 삭제하기 위해서는 사전에 중지되어야 한다.

- 컨테이너 중지

docker stop <$컨테이너이름>

- 컨테이너 삭제

docker rm <$컨테이너이름>

 

삭제할 컨테이너가 많을 때, 위의 명령어를 한 줄 한 줄 치기는 어렵다.

한번에 삭제하려면 다음 명령어를 입력하면 된다.

docker ps -a -q --filter "status=exited" | xargs docker stop
docker ps -a -q --filter "status=exited" | xargs docker rm

해석을 하자면,

docker ps -a -q --filter "status=exited" 부분에서 중지된(exited) 모든 컨테이너의 ID만 출력하고

xargs docker stop 부분에서 출력된 컨테이너 ID들을 docker stop/rm 명령에 전달하여 모든 중지된 컨테이너를 stop/rm하는 것이다.

 

3. 모든 컨테이너 삭제 명령어

번외로, 실행 중이거나 중지된 모든 컨테이너를 삭제하려면 다음과 같이 하면 된다.

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)