如果我这样做docker volume ls
,我的卷列表是这样的:
DRIVER VOLUME NAME
local 305eda2bfd9618266093921031e6e341cf3811f2ad2b75dd7af5376d037a566a
local 226197f60c92df08a7a5643f5e94b37947c56bdd4b532d4ee10d4cf21b27b319
...
...
local 209efa69f1679224ab6b2e7dc0d9ec204e3628a1635fa3410c44a4af3056c301
Run Code Online (Sandbox Code Playgroud)
我想立刻删除所有卷.我该怎么做?
Von*_*onC 164
删除所有未使用的数据(包括没有容器的卷)的官方命令将使用docker 1.13
docker system prune
Run Code Online (Sandbox Code Playgroud)
如果要仅限制卷,请仅删除未使用的卷:
docker volume prune
Run Code Online (Sandbox Code Playgroud)
你也有docker image prune
,docker container prune
等:
多见于" 普鲁泊坞闲置对象 ".
您可以在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
Run Code Online (Sandbox Code Playgroud)
PR 14242和docker volume
命令引入了当前(码头前1.13)管理卷的方式,该命令在 2015年7月的评论中记录:
docker volume rm $(docker volume ls -q --filter dangling=true)
Run Code Online (Sandbox Code Playgroud)
vvc*_*hik 21
2017年编辑:这个答案是在2016年4月16日给出的,现在已经过时了,只有1.13之前的泊坞版正确请使用@VonC的答案,现在它被标记为正确
要删除未使用的卷,可以使用内置的docker volume rm
命令.该rm
命令还会删除/var/lib/docker/volumes
不是卷的任何目录,因此请确保您没有在其中放置任何要保存的内容:
命令列出卷,比您的要少:
$ docker volume ls -qf dangling=true
Run Code Online (Sandbox Code Playgroud)
清理:
$ docker volume rm $(docker volume ls -qf dangling=true)
Run Code Online (Sandbox Code Playgroud)
Jon*_*Lin 14
为了回答这个问题并借用马克的话,这是有效的:
$ docker volume rm $(docker volume ls -qf dangling=true | xargs)
Run Code Online (Sandbox Code Playgroud)
这是我发现有用的内容:https : //github.com/chadoe/docker-cleanup-volumes
用于删除 /var/lib/docker/volumes 和 /var/lib/docker/vfs/dir Docker 版本 1.4.1 至 1.11.x 中孤立的 docker 卷的 Shellscript
它基本上清理了任何孤立/悬空卷,但它包括一个--dry-run
但它也记录了一些 docker 包含的命令(在上一条评论中引用)
关于 Docker 1.9 及更高版本的注意事项
要删除 Docker 1.9 及更高版本中的孤立卷,您还可以使用内置的 docker volume 命令而不是这个 docker-cleanup-volumes 脚本。内置命令还会删除 /var/lib/docker/volumes 中不是卷的任何目录,因此请确保您没有在其中放置任何要保存的内容:
列表:
$ docker volume ls -qf dangling=true
Run Code Online (Sandbox Code Playgroud)
清理:
$ docker volume rm $(docker volume ls -qf dangling=true)
Run Code Online (Sandbox Code Playgroud)
或者,更好地处理无操作但特定于 Linux:
$ docker volume ls -qf dangling=true | xargs -r docker volume rm
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
38402 次 |
最近记录: |