DevTools/Docker

docker - 컨테이너, 이미지 강제(-f) 삭제, 컨테이너, 이미지 일괄 삭제 CLI

solytory 2025. 4. 15. 23:44

 

용어정리 먼저 짚고 넘어가기

  내용
-f --force 약어
-q quite 약어로 id 값만 출력
-qa quite +  all- 두개의 옵션값이 합쳐진 상태

♣ 컨테이너 강제 삭제

# docker rm -f 컨테이너명[또는 컨테이너 ID]
docker rm -f 10cb784e675f

- 실행 중인 컨테이너를 일반적인 삭제인 rm으로 진행하면 에러가 발생하지만 -f를 사용해서 삭제해 주면 바로 컨테이너가 삭제되는 걸 확인할 수 있다.

 

♣ 모든 컨테이너 삭제

docker rm $(docker ps -qa)

 

-  Id값을 나열하면 해당 id값에 해당하는 모든 컨테이너는 제거가 되는데 이때 -qa은 모든 Id 값을 의미하는거로 풀어서 보이면 docker rm 901b089f6c97 4c7bb26978a0 와 같은 개념으로 인지가 되어 모든 컨테이너가 삭제된다.

 

지금 위에 예시는 실행하지 않고 있는 컨테이너를 삭제할 때로 만약 실행이 되고 있다면 당연히 위에 명령어로는 제거가 되지 않기에 중지를 시키고 삭제해야 한다 하지만 중지와 동시에 삭제를 하기 위해선? -f 명령어를 사용하여 아래와 같이 진행 시 

docker rm -f $(docker ps -qa)

 

♣ 이미지 강제 삭제

# docker image rm -f [이미지 ID 또는 이미지명]
docker image rm -f

- rm과는 다르게 컨테이너가 실행은 되고 있지 않지만 이미지를 참조하고 있어도 삭제가 가능

♣ 모든 이미지 삭제

docker image rm $(docker images -q)

- 위에 코드는 컨테이너가 생성, 실행등이 되지 않았을 때 image를 전체 삭제하는 거지만 컨테이너가 있을 때는? 삭제가 되지 않는데 컨테이너가 있어도 이미지를 삭제시키기 위해선? 아래 코드와 같이 -f 옵션을 사용해 주면 된다!

docker image rm -f $(docker images -q)