[docker] 모든 Docker 볼륨을 제거하는 방법은 무엇입니까?

를 수행하면 docker volume ls볼륨 목록은 다음과 같습니다.

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

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



답변

사용하지 않는 모든 데이터 (컨테이너가없는 볼륨 포함)를 제거하는 공식 명령은 docker 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와 docker volume명령 , 어떤 문서 의 코멘트에 년 7 월 2015 :

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


답변

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

사용하지 않는 볼륨을 삭제하려면 내장 된 docker volume rm명령을 사용할 수 있습니다 . 이 rm명령은 또한 /var/lib/docker/volumes볼륨이 아닌 디렉토리를 삭제 하므로 저장하려는 항목을 거기에 넣지 않았는지 확인
하십시오.

$ docker volume ls -qf dangling=true

대청소:

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

ls에 대한 자세한 내용은 여기 , rm에 대한 정보는 여기


답변

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

/ var / lib / docker / volumes 및 / var / lib / docker / vfs / dir Docker 버전 1.4.1에서 최대 1.11.x까지 고아 Docker 볼륨을 삭제하는 셸 스크립트

기본적으로 고아 / 매달린 볼륨을 정리하지만 a를 포함 --dry-run하지만 일부 docker 포함 명령도 기록합니다 (이전 주석에서 참조)

Docker 1.9 이상에 대한 참고 사항

Docker 1.9 이상에서 고아 볼륨을 삭제하려면이 docker-cleanup-volumes 스크립트 대신 기본 제공 Docker 볼륨 명령을 사용할 수도 있습니다. 내장 명령은 또한 볼륨이 아닌 / var / lib / docker / volumes의 디렉토리를 삭제하므로 저장하려는 항목을 넣지 않았는지 확인하십시오.

명부:

$ docker volume ls -qf dangling=true

대청소:

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

또는 작동하지 않는 것이 좋지만 Linux에만 해당됩니다.

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


답변

질문에 답하고 Marc에게서 빌리면 다음과 같이 작동합니다.

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


답변