본문 바로가기

DevOps/도커(Docker)

도커 컨테이너/이미지 정지하고 삭제하기

사용하지 않는 컨테이너 정리하기

 

# 컨테이너 정지하기

컨테이너나 이미지를 삭제하기 전에 먼저 컨테이너를 정지해야한다. 삭제할때 말고도 동일한 호스트의 포트를 사용하는 컨테이너를 배포하거나 작동중인 컨테이너의 사용 자체를 종료할 때도 먼저 컨테이너를 정지해야 한다.

 

1. nginx이미지를 기반으로 생성된 컨테이너 조회

$ docker ps -f ancestor=nginx

ancestor 키는 컨테이너를 생성하는 데 사용한 이미지를 기준으로 필터링한다.

 

 

 

2. 컨테이너 정지

$ docker stop < 컨테이너 이름 >
$ docker stop < 컨테이너 ID >

 

 

3. 모든 컨테이너 정지

$ docker stop $(docker ps -q -f ancestor=nginx)

nginx 이미지를 사용하는 모든 컨테이너를 정지

 

 

 

4. 정지 되었는지 확인

$ docker ps -f ancestor=nginx

 

5. 정지된 컨테이너 포함 조회

$ docker ps -a -f ancestor=nginx

컨테이너가 모두 정지됐으나 삭제된 것은 아니다. 정지된 컨테이너를 포함해 모든 컨테이너를 조회 한다. 정지된 컨테이너를 다시 구동하고 싶다면 docker start < 컨테이너 이름 | ID >를 실행한다.

 

 

 

# 컨테이너와 이미지 삭제하기

정지한 컨테이너가 더 이상 필요 없으면 삭제해 사용 중인 컨테이너 목록을 관리하고, 사용하지 않는 컨테이너 이미지를 삭제해 저장공간을 확보한다.

 

1. 컨테이너 삭제

$ docker rm $(docker ps -aq -f ancestor=nginx)
$ docker ps -f ancestor=nginx

현재 정지된 모든 컨테이너 삭제

 

 

 

2. 도커 이미지 삭제 

$ docker rmi $(docker images -q nginx)

이미지는 컨테이너가 정지 상태가 아닌 삭제 상태일 때 삭제할 수 있다. 따라서 이미지를 삭제하기 전에 컨테이너를 삭제해야한다.

 

 

 

 

 

 

 

 

 

출처:

"컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 - 조훈,심근우,문성주 지음/길벗출판사" 책을 기반으로 실습한 내용입니다.