출처: Docker 이미지, 컨테이너 및 볼륨을 제거하는 방법 (linux-console.net)
Docker는 강력하고 안전하며 신뢰할 수 있고 효율적인 오픈 소스 컨테이너 플랫폼으로 애플리케이션과 인프라 간의 현실적인 독립성을 지원합니다. IT 및 클라우드 회사에서 애플리케이션을 쉽게 생성, 배포 및 실행하기 위해 널리 채택되고 있습니다.
컨테이너는 운영 체제를 시각화하기 위한 기술로, 애플리케이션을 실행하는 데 필요한 모든 것과 함께 패키징하여 운영 체제와 독립적으로 실행할 수 있도록 합니다. 컨테이너 이미지는 애플리케이션을 실행하는 데 필요한 모든 것(코드, 런타임, 시스템 도구 및 라이브러리, 구성 포함)이 포함된 자체 포함된 실행 가능한 애플리케이션 패키지입니다.
우리는 이미 Docker에 대한 시리즈를 다뤘습니다. 이 시리즈에서는 Docker를 설치하고 컨테이너에 애플리케이션을 실행하고 dockerfile로 docker 이미지를 자동으로 빌드하는 방법을 설명합니다.
- CentOS 및 RHEL 7/6에서 Docker 설치 및 기본 컨테이너 조작 학습
- CentOS/RHEL 7/6에서 애플리케이션을 Docker 컨테이너에 배포하고 실행하는 방법
- CentOS/RHEL 7/6에서 Dockerfile로 Docker 이미지 자동 빌드 및 구성
- 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 이미지, 컨테이너 및 볼륨을 제거하는 방법을 설명했습니다. 공유할 질문이나 생각이 있는 경우 아래 피드백 양식을 사용하여 문의하십시오
'프로그램 활용 > 클라우드 가상화 도커' 카테고리의 다른 글
Install Kubernetes Master Node on Rocky Linux 9 (0) | 2023.08.03 |
---|---|
kubernetes 설치 (0) | 2023.08.03 |
도커 컨테이너 레벨 명령어 (0) | 2023.08.01 |
Exited 상태의 컨테이너 한 번에 삭제하기(feat. Created 상태의 컨테이너) (0) | 2023.08.01 |
도커 docker_get D-Bus connection: Operation not permitted (0) | 2023.08.01 |