program story

고아 Docker 마운트 호스트 볼륨?

inputbox 2020. 11. 26. 08:14
반응형

고아 Docker 마운트 호스트 볼륨?


방금 내 / var / lib / docker / volumes 폴더를 검사 한 결과 Docker UUID라는 이름의 폴더로 가득 차있는 것을 발견했습니다. 각 폴더에는 내용이있는 config.json 파일이 포함되어 있습니다.

{"ID":"UUID","Path":"/path/to/mounted/volume","IsBindMount":true,"Writable":true}

어디

/path/to/mounted/volume

특정 지점에서 -v 스위치를 사용하여 도커 컨테이너에 마운트 된 호스트의 폴더 경로입니다. Docker를 사용한 실험이 시작된 시점 (예 : 약 3 주 전)으로 거슬러 올라가는 폴더가 있습니다.

문제의 컨테이너가 중지되고 오래 전에 docker rm'ed되어 해당 항목이 판매 기한이 지나지 않은 것을 볼 수 없습니다. 이것은 질문을합니다-남은 버그가 보입니까? 아니면 / var / lib / docker / volumes에서 이러한 항목을 수동으로 버릴 필요가 있습니까?


Docker 1.9 이상에는 기본 방법이 있습니다.

분리 된 모든 볼륨 나열

$ docker volume ls -qf dangling=true

모두 제거

$ docker volume rm $(docker volume ls -qf dangling=true)


Docker 사용 설명서에서 :

초기 dbdata 컨테이너 또는 후속 컨테이너 db1 및 db2를 포함하여 볼륨을 마운트하는 컨테이너를 제거하면 볼륨이 삭제되지 않습니다. 디스크에서 볼륨을 삭제하려면 볼륨을 참조하여 마지막 컨테이너에 대해 docker rm -v를 명시 적으로 호출해야합니다. 이를 통해 컨테이너간에 데이터 볼륨을 업그레이드하거나 효과적으로 마이그레이션 할 수 있습니다. - 소스

이는 우발적 인 데이터 손실을 방지하기위한 의도적 인 동작입니다. docker-cleanup-volumes 와 같은 도구를 사용하여 사용하지 않는 볼륨을 정리할 수 있습니다.


Docker 1.13+ 및 ce / ee 17+ 릴리스 번호의 경우 다음 명령을 사용하십시오.volume prune

docker volume prune

dangling=true쿼리 와 달리 "원격"드라이버 기반 볼륨은 제거되지 않습니다.

참고 URL : https://stackoverflow.com/questions/27812807/ 분리 된 -docker-mounted-host-volumes

반응형