웹사이트 검색

Docker 이미지, 컨테이너 및 볼륨을 제거하는 방법


Docker는 애플리케이션과 인프라 간의 현실적인 독립성을 가능하게 하는 강력하고 안전하며 안정적이고 효율적인 오픈 소스 컨테이너 플랫폼입니다. 애플리케이션을 쉽게 생성, 배포 및 실행하기 위해 IT 및 클라우드 회사에서 널리 채택되고 있습니다.

컨테이너는 운영 체제를 시각화하는 기술로, 애플리케이션을 실행하는 데 필요한 모든 것을 패키지화하여 운영 체제와 독립적으로 실행할 수 있도록 합니다. 컨테이너 이미지는 코드, 런타임, 시스템 도구, 라이브러리, 구성 등 애플리케이션을 실행하는 데 필요한 모든 것을 포함하는 독립형 실행 가능 애플리케이션 패키지입니다.

우리는 이미 Docker를 설치하고, 컨테이너에서 애플리케이션을 실행하고, dockerfile을 사용하여 Docker 이미지를 자동으로 빌드하는 방법을 설명하는 Docker 시리즈를 다루었습니다.

  1. CentOS 및 RHEL 7/6에서 Docker를 설치하고 기본 컨테이너 조작 알아보기
  2. CentOS/RHEL 7/6에서 Docker 컨테이너에 애플리케이션을 배포하고 실행하는 방법
  3. CentOS/RHEL 7/6에서 Dockerfile을 사용하여 Docker 이미지를 자동으로 빌드 및 구성
  4. Docker 컨테이너에 간단한 Apache 웹 서버를 설정하는 방법

이 문서에서는 Linux 시스템에서 docker 명령줄 도구를 통해 docker 이미지, 컨테이너 및 볼륨을 제거하는 방법을 설명합니다.

Docker 이미지를 제거하는 방법

Docker 이미지를 제거하기 전에 이미지 관리 명령을 사용하여 시스템의 기존 이미지를 모두 나열할 수 있습니다.

docker image	        #list the most recently created images
OR
docker image -a 	#list all images

다음 스크린샷의 출력을 보면 태그가 없는 일부 이미지(대신 표시)가 있는데, 이를 “매달린 이미지”라고 합니다. 더 이상 태그가 지정된 이미지와 아무런 관계가 없습니다. 더 이상 유용하지 않으며 디스크 공간만 소비합니다.

예를 들어, 이미지 ID(여기서 d65c4d6a3580는 이미지 ID임)를 사용하여 오래되었거나 사용되지 않은 Docker 이미지를 하나 이상 제거할 수 있습니다.

docker rmi d65c4d6a3580 				#remove a single image
docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc	#remove multiple images

표시된 대로 -f 필터 플래그를 사용하여 매달린 이미지(태그가 지정되지 않은 이미지)를 나열할 수 있습니다.

docker images -f dangling=true	

매달린 이미지를 모두 제거하여 낭비된 디스크 공간을 회수하려면 다음 명령 중 하나를 사용하십시오.

docker image prune		#interactively remove dangling images
OR
docker rmi $(docker images -q -f dangling=true)

컨테이너와 연결되지 않은 모든 항목을 제거하려면 다음 명령을 사용하십시오.

docker image prune -a 	

Docker 컨테이너를 제거하는 방법

다음 명령을 사용하여 시스템의 모든 도커 컨테이너를 나열하는 것으로 시작할 수 있습니다.

docker ps
OR
docker ps -a  

삭제하려는 컨테이너를 식별한 후에는 예를 들어 해당 ID를 사용하여 컨테이너를 제거할 수 있습니다.

docker rm 0fd99ee0cb61		#remove a single container
docker rm 0fd99ee0cb61 0fd99ee0cb61   #remove multiple containers

컨테이너가 실행 중인 경우 먼저 중지하고 표시된 대로 제거할 수 있습니다.

docker stop 0fd99ee0cb61
docker rm -f 0fd99ee0cb61

--force 또는 -f 플래그를 추가하여 실행 중인 컨테이너를 강제 제거할 수도 있습니다. 그러면 < Strong>SIGKILL 신호는 다음과 같습니다.

docker rm -f 0fd99ee0cb61

필터를 사용하여 컨테이너를 제거할 수도 있습니다. 예를 들어 종료된 모든 컨테이너를 제거하려면 이 명령을 사용합니다.

docker rm $(docker ps -qa --filter "status=exited")

모든 컨테이너를 중지하고 제거하려면 다음 명령을 사용하십시오.

docker stop $(docker ps -a -q)	#stop all containers
docker container prune		#interactively remove all stopped containers
OR
docker rm $(docker ps -qa)

Docker 볼륨을 제거하는 방법

이전과 마찬가지로 표시된 대로 볼륨 관리 명령을 사용하여 시스템의 모든 도커 볼륨을 나열하는 것으로 시작하십시오.

docker volume ls

하나 이상의 볼륨을 제거하려면 다음 명령을 사용합니다. 컨테이너에서 사용 중인 볼륨은 제거할 수 없습니다.

docker volume rm volume_ID 	           #remove a single volume 
docker volume rm volume_ID1 volume_ID2   #remove multiple volumes

하나 이상의 볼륨을 강제로 제거하려면 -f 플래그를 사용하십시오.

docker volume rm -f volume_ID

매달린 볼륨을 제거하려면 다음 명령을 사용하십시오.

docker volume rm $(docker volume ls  -q --filter dangling=true)

사용하지 않는 로컬 볼륨을 모두 제거하려면 다음 명령을 실행합니다. 이렇게 하면 볼륨이 대화형으로 제거됩니다.

docker volume prune	

사용하지 않거나 매달린 이미지, 컨테이너, 볼륨 및 네트워크를 제거하는 방법

이 단일 명령을 사용하면 중지된 컨테이너, 컨테이너가 없는 이미지 등 참조되지 않는 모든 데이터를 삭제할 수 있습니다. 현재 볼륨을 사용하는 컨테이너가 없는 경우 중요한 데이터가 삭제되는 것을 방지하기 위해 기본적으로 볼륨은 제거되지 않습니다.

docker system prune

볼륨을 정리하려면 표시된 대로 아래 명령에 --volumes 플래그를 추가하기만 하면 됩니다.

docker system prune --volumes

참고: sudo 명령 없이 docker 명령줄 도구를 실행하려면 예를 들어 docker 그룹에 사용자를 추가해야 합니다.

sudo usermod -a -G docker aaronkilik

자세한 내용은 위의 docker 개체 관리 명령에 대한 도움말 페이지를 참조하세요.

docker help
docker image help   
docker container help   
docker volume help   

지금은 여기까지입니다! 이 문서에서는 docker 명령줄 도구를 통해 docker 이미지, 컨테이너 및 볼륨을 제거하는 방법을 설명했습니다. 질문이나 공유하고 싶은 생각이 있으면 아래 피드백 양식을 사용하여 저희에게 연락해 주세요.