programing

모든 도커 볼륨을 제거하는 방법?

skycolor 2023. 10. 14. 09:59
반응형

모든 도커 볼륨을 제거하는 방법?

제가 하면.docker volume ls, 제 책 목록은 다음과 같습니다.

DRIVER              VOLUME NAME
local               305eda2bfd9618266093921031e6e341cf3811f2ad2b75dd7af5376d037a566a
local               226197f60c92df08a7a5643f5e94b37947c56bdd4b532d4ee10d4cf21b27b319
...
...
local               209efa69f1679224ab6b2e7dc0d9ec204e3628a1635fa3410c44a4af3056c301

모든 볼륨을 한 번에 제거하고 싶습니다.어떻게 하면 되죠?

사용하지 않는 모든 데이터(컨테이너가 없는 볼륨 포함)를 제거하는 공식 명령은 도커 1.13과 함께 수행됩니다.

docker system prune  

볼륨만 제한하려면 사용하지 않는 볼륨만 제거해야 합니다.

docker volume prune

당신도 가지고 있습니다.docker image prune,docker container prune, 기타:
자세한 내용은 "사용하지 않는 도커 개체 제거"를 참조하십시오.

커밋 86de7c0PR 26108 참조.

play-with-docker.com 에서 확인할 수 있습니다.

/ # docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
1296a5e47ef3        hello-world         "/hello"            7 seconds ago       Exited (0) 6 seconds ago                       prickly_poincare

/ # docker system  prune
WARNING! This will remove:
        - all stopped containers
        - all volumes not used by at least one container
        - all networks not used by at least one container
        - all dangling images
Are you sure you want to continue? [y/N] y
Deleted Containers:
1296a5e47ef3ab021458c92ad711ad03c7f19dc52f0e353f56f062201aa03a35

현재(도커 1.13 이전) 볼륨 관리 방식은 PR 14242 및 명령어와 함께 도입되었으며, 이는 2015년 7월부터 다음과 같은 내용을 주석에 기록하고 있습니다.

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

2017년 편집:이 답변은 16년 4월 16일에 제공되었으며 현재는 구식이며 1.13 이전 도커 버전에 대해서만 정답입니다. @VonC의 답변을 사용하십시오. 이제 정답으로 표시됩니다.

사용하지 않는 볼륨을 삭제하려면 내장 도커를 사용할 수 있습니다.volume rm지휘. 그.rm명령은 또한 에 있는 디렉토리를 삭제합니다./var/lib/docker/volumes볼륨이 아니므로 저장할 내용이 없는지 확인합니다.
볼륨을 나열하는 명령어(Command to List), 당신 것보다 약간 오른쪽:

$ docker volume ls -qf dangling=true

정리:

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

여기에 ls에 대한 더 자세한 정보, 여기에 rm에 대한 정보.

질문에 답하고 Marc로부터 돈을 빌리려면 다음과 같이 해야 합니다.

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

이것이 제가 유용하다고 생각한 것입니다. https://github.com/chadoe/docker-cleanup-volumes

/var/lib/docker/volumes 및 /var/lib/docker/vfs/dir 도커 버전 1.4.1에서 1.11.x까지 분리된 도커 볼륨을 삭제하는 셸 스크립트

기본적으로 고아/다글링 볼륨을 정리하지만 다음을 포함합니다.--dry-run그러나 일부 도커에 포함된 명령도 기록합니다(이전 주석에서 참조됨).

도커 1.9 이상에 대한 참고 사항

도커 1.9 이상에서 고아 볼륨을 삭제하려면 이 도커-클린업-볼륨 스크립트 대신 내장된 도커 볼륨 명령을 사용할 수도 있습니다.내장된 명령은 볼륨이 아닌 /var/lib/docker/volumes의 디렉터리도 삭제하므로 저장할 디렉터리에 아무것도 넣지 않았는지 확인합니다.

목록:

$ docker volume ls -qf dangling=true

정리:

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

아니, 더 나은 방법이지만 리눅스에 특화된 방법을 사용할 수 있습니다.

$ docker volume ls -qf dangling=true | xargs -r docker volume rm

언급URL : https://stackoverflow.com/questions/36663809/how-to-remove-all-docker-volumes

반응형