본문 바로가기
프로그램 활용/클라우드 가상화 도커

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

by 3604 2023. 8. 1.
728x90

출처: Docker 이미지, 컨테이너 및 볼륨을 제거하는 방법 (linux-console.net)

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

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

우리는 이미 Docker에 대한 시리즈를 다뤘습니다. 이 시리즈에서는 Docker를 설치하고 컨테이너에 애플리케이션을 실행하고 dockerfile로 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 image	        #list the most recently created images
OR
$ docker image -a 	#list all images

다음 스크린샷의 출력을 보면 태그가 없는 일부 이미지가 있습니다(대신 표시). 이러한 이미지를 \dangling 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 플래그를 추가하여 실행 중인 컨테이너를 강제 제거할 수도 있습니다. 이렇게 하면 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  관련 폴더 삭제

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

$ 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 이미지, 컨테이너 및 볼륨을 제거하는 방법을 설명했습니다. 공유할 질문이나 생각이 있는 경우 아래 피드백 양식을 사용하여 문의하십시오

728x90