본문 바로가기

Program

Docker docker container prune – 안 쓰는 컨테이너 한 번에 정리하기. (쓰레기 정리하자~)

반응형

docker container prune 명령어는 Docker에서 사용하지 않는 모든 컨테이너(Stopped 상태) 를 한 번에 정리하는 데 사용됩니다. 이 명령어는 시스템을 깔끔하게 유지하고, 불필요한 리소스 낭비를 줄이는 데 유용합니다.


Docker docker container prune 명령어 완전 정리 – 안 쓰는 컨테이너 한 번에 정리하기

Docker를 사용하다 보면 여러 테스트 컨테이너들이 쌓이게 마련입니다. 특히 docker run 명령으로 임시 테스트를 반복하다 보면, 컨테이너가 중지되더라도 디스크 공간은 계속 차지하게 되는데요.

이럴 때 docker container prune 명령어를 통해 중지된 모든 컨테이너를 일괄 삭제할 수 있습니다. 간단하면서도 강력한 이 명령어는 Docker 시스템을 정리할 때 필수로 알고 있어야 합니다.

 


🔧 명령어 기본 문법

docker container prune
  • 이 명령어는 중지(stopped)된 컨테이너만 삭제합니다.
  • 실행 시 사용자에게 삭제 확인 프롬프트가 표시됩니다.
  • -f 또는 --force 옵션을 주면 자동으로 확인 없이 삭제합니다.

📌 사용 예시

1. 기본 사용

docker container prune

출력 예시:

WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
a1b2c3d4e5f6
b7c8d9e0f1a2

Total reclaimed space: 23.45MB

2. 강제로 자동 삭제 (프롬프트 생략)

docker container prune -f

이렇게 하면 프롬프트 없이 바로 중지된 컨테이너가 모두 삭제됩니다.


🗑️ 예제 시나리오

  1. 컨테이너를 여러 번 테스트하다가 멈춘 컨테이너들이 생김:
docker run --name test1 nginx
docker stop test1
docker run --name test2 httpd
docker stop test2
  1. 중지된 컨테이너 목록 확인:
docker ps -a
  1. 한 번에 모두 삭제:
docker container prune

🧠 함께 기억해야 할 점

🔸 prune 명령어는 상태가 "exited"인 컨테이너만 제거합니다.

  • 실행 중인 컨테이너는 절대 삭제되지 않습니다.
  • 따라서 운영 서비스에는 영향이 없습니다.

🔸 불필요한 컨테이너만 삭제된다는 전제가 있으므로, 작업 중이던 컨테이너가 삭제되지 않도록 주의해야 합니다.

  • 중요한 로그, 볼륨이 연결된 컨테이너가 있을 수 있으니 필요하면 먼저 백업하거나 docker commit 등을 이용하세요.

🚀 시스템 정리용 Docker Prune 시리즈

명령어 설명

docker system prune 중지된 컨테이너, 사용하지 않는 이미지, 네트워크, 빌드 캐시를 한꺼번에 정리
docker image prune 태그되지 않은(untagged) 이미지 삭제
docker volume prune 사용되지 않는 볼륨 삭제
docker network prune 사용되지 않는 네트워크 삭제
docker container prune 중지된 컨테이너 삭제

💡 docker system prune은 container prune을 포함한 상위 개념입니다. 하지만 더 많은 요소가 삭제되므로 주의해서 사용하세요.


반응형

 

📘 GUI 대안: Docker Desktop

Docker Desktop에서는 GUI로 컨테이너 상태를 확인하고 삭제할 수 있습니다. 하지만 터미널 명령어로 처리하는 것이 더 빠르고 자동화하기 쉽습니다.


🧩 도커 시스템 청소 자동화 예시

#!/bin/bash
docker container prune -f
docker image prune -f
docker volume prune -f
docker network prune -f

이렇게 하면 크론(cron)이나 CI 파이프라인에서 정기적으로 시스템을 정리할 수 있습니다.


💡 실전 팁

  • Jenkins, GitLab CI 등 자동화 환경에서 테스트 컨테이너를 주기적으로 지우고 싶을 때 매우 유용합니다.
  • 디스크 부족 에러가 발생했을 때 가장 먼저 실행해보세요.
  • docker system df 명령어로 현재 Docker의 리소스 사용량을 먼저 확인하고, prune 명령어를 조합하는 것도 좋은 방법입니다.

📌 마무리

docker container prune은 Docker 환경을 정리할 때 꼭 필요한 도구입니다. 중지된 컨테이너가 쌓이면 불필요하게 디스크 공간만 낭비되므로, 일정 주기로 정리하는 습관을 들이면 좋습니다. 특히 테스트 환경이나 CI/CD 환경에서는 자동화 스크립트로 자주 활용됩니다.


 

 

Docker docker container port 명령어. 포트 매핑 방법.

 

Docker docker container port 명령어. 포트 매핑 방법.

이 명령어는 Docker 컨테이너의 내부 포트가 호스트 시스템의 어떤 포트에 매핑되어 있는지 확인할 때 사용됩니다. Docker docker container port 명령어 완벽 정리도커(Docker)를 활용해 애플리케이션을 컨

jjig810906.tistory.com

 

반응형