본문 바로가기

About/Docker

[Docker] 실행 중인 컨테이너 한 번에 종료(삭제)하기

Docker를 사용하다보면 한 번에 여러 컨테이너를 삭제하고 싶을 때가 있습니다.

 

위의 실행중인 컨테이너를 모두 삭제하려면 다음과 같이 컨테이너 ID를 통하여 하나하나 삭제하는 방법도 있지만 컨테이너가 많은 경우 힘든 방법입니다.

docker rm -f 47cf2a
docker rm -f c09ab
....
cs

실행 중인 컨테이너를 한 번에 종료하기

쉘스크립트 문법docker ps 명령어의 q옵션(quiet)을 이용하면 아주 간단하게 모든 컨테이너를 삭제할 수 있습니다.

docker ps의 q(quite)옵션과 a(all)옵션을 사용하면 다음과 같이 실행중인 모든 컨테이너의 id만 출력되게 됩니다.

 

docker ps -qa
cs

 

 

이 속성을 이용하여 docker ps -qa의 결과를 $()로 감싸서 쉘 변수에 저장시키고 해당 변수를 docker rm -f 명령어 인자로 주면 전체가 삭제되게 됩니다.

 

따라서 실행중인 컨테이너를 한 번에 종료하는 명령어는 다음과 같습니다.

 

docker rm -f $(docker ps -qa)
cs

 

 

실행 중인 컨테이너들이 한 번에 삭제 되는 것을 볼 수 있습니다.

이를 docker stop, docker start 등등에도 응용할 수 있습니다.


감사합니다.