댕글링 상태로 볼륨 필터링
이 단계에서는 Docker 볼륨을 "댕글링 (dangling)" 상태를 기반으로 필터링하는 방법을 배우겠습니다. 댕글링 볼륨은 현재 어떤 컨테이너에도 연결되지 않은 볼륨입니다. 이러한 볼륨은 불필요하게 디스크 공간을 소비할 수 있습니다.
댕글링 볼륨을 필터링하려면 --filter dangling=true 플래그를 사용합니다.
먼저, 컨테이너를 생성하고 볼륨 중 하나를 연결해 보겠습니다. ubuntu 이미지를 사용합니다. 로컬에 ubuntu 이미지가 없으면 Docker 가 자동으로 가져옵니다.
docker run -d --name mycontainer -v myvolume:/app ubuntu sleep 3600
이 명령은 분리 모드 (-d) 로 mycontainer라는 컨테이너를 실행하고, myvolume을 컨테이너 내부의 /app 디렉토리에 마운트 (-v myvolume:/app) 하고, ubuntu 이미지를 사용하며, 컨테이너를 한 시간 동안 실행 상태로 유지합니다 (sleep 3600).
이제 모든 볼륨을 다시 나열해 보겠습니다.
docker volume ls
myvolume과 another_volume이 모두 표시됩니다. myvolume은 현재 mycontainer에서 사용 중입니다. another_volume은 어떤 컨테이너에도 연결되어 있지 않으므로 댕글링 볼륨입니다.
이제 댕글링 볼륨을 필터링해 보겠습니다.
docker volume ls --filter dangling=true
어떤 실행 중인 컨테이너에도 연결되어 있지 않으므로 출력에 another_volume이 나열되어야 합니다.
댕글링되지 않은 볼륨 (즉, 컨테이너에 연결된 볼륨) 을 보려면 --filter dangling=false를 사용할 수 있습니다.
docker volume ls --filter dangling=false
이렇게 하면 myvolume이 표시됩니다.
마지막으로, 생성한 컨테이너를 중지하고 제거해 보겠습니다.
docker stop mycontainer
docker rm mycontainer
이제 댕글링 볼륨을 다시 나열하면 다음과 같습니다.
docker volume ls --filter dangling=true
myvolume이 더 이상 컨테이너에 연결되지 않으므로 myvolume과 another_volume이 모두 댕글링으로 표시되어야 합니다.