Docker :: 중지 된 모든 컨테이너 한 번에 삭제하기

배경

데브옵스 한다고 CI/CD 구축해놓고 Release 브랜치에 푸시 할 때 태그정보로 이미지를 만들고 그대로 컨테이너로 생성하여 특정 호스트에 배포를 하고 있었다. 개발기였기 때문에 별 문제 없이 사용했었는데 우연찮게 도커 클라이언트에 있는 컨테이너 정보를 모두 호출했다가 중지 된 수십 개의 컨테이너가 있는 걸 발견했다.

원인

컨테이너 실행 시 --rm 옵션을 안 넣었다. 아.. 컨테이너가 중지될 때 자동으로 삭제하게 만들었어야 했는데 얼마나 미련한가..
결국 이로인해 배포할 때마다 중지 된 컨테이너가 줄줄이 중지된 채 남아있었던 것이다.

해결

docker rm 명령어로 삭제를 하면 되는데 일일이 컨테이너 명 혹은 아이디를 넣어 삭제하는 건 너무나 힘들고 귀찮은 일이다. 그래서 아래 명령어로 한 번에 다 삭제했다.

1
docker rm $(docker ps -a -f status=exited -q)

댓글

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×