如何删除所有docker卷?
如果我做docker volume ls
,我的卷列表是这样的:
DRIVER VOLUME NAME local 305eda2bfd9618266093921031e6e341cf3811f2ad2b75dd7af5376d037a566a local 226197f60c92df08a7a5643f5e94b37947c56bdd4b532d4ee10d4cf21b27b319 ... ... local 209efa69f1679224ab6b2e7dc0d9ec204e3628a1635fa3410c44a4af3056c301
我想一次删除所有的卷。 我该怎么做?
删除所有未使用的数据(包括没有容器的卷)的官方命令将与docker1.13
docker system prune
如果您想单独限制卷, 则只删除未使用的卷 :
docker volume prune
你也有docker image prune
, docker container prune
等:
请参阅“ 修剪未使用的Docker对象 ”。
请参见提交86de7c0和PR 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
目前(pre-docker 1.13)pipe理卷的方法是通过PR 14242和docker docker volume
命令引入的, 该命令 在 2015年7月发表评论 :
docker volume rm $(docker volume ls -q --filter dangling=true)
编辑于2017年:这个答案是在16年4月16日给出,现在已经过时了,只有在1.13之前的docker版本才能正确使用@VonC的答案,现在它被标记为正确的
要删除未使用的卷,可以使用内置的docker volume rm
命令。 rm
命令还会删除/var/lib/docker/volumes
中不是/var/lib/docker/volumes
任何目录,因此请确保没有任何要保存的内容:
命令列出卷,比你的权利:
$ docker volume ls -qf dangling=true
清理:
$ docker volume rm $(docker volume ls -qf dangling=true)
有关ls的更多细节,请点击这里
这是我发现是有用的: https : //github.com/chadoe/docker-cleanup-volumes
用于删除/ var / lib / docker / volumes和/ var / lib / docker / vfs / dir中的孤立docker卷的shell脚本Docker版本1.4.1至1.11.x
它基本上是对任何孤立/悬挂卷进行清理,但它包含一个--dry-run
但是它也logging了一些--dry-run
包含的命令(在prev注释中被引用)
关于Docker 1.9及更高版本的注意事项
要删除Docker 1.9以上的孤立卷,也可以使用内置的docker volume命令而不是docker-cleanup-volumes脚本。 内置命令还会删除/ 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)
- grails / mysql与docker组成
- “来自守护进程的错误响应:找不到404页面”使用docker命令时
- 我如何重置Dockerized Rails应用程序进行集成testing?
- 控制docker – 用Java编写
- docker-compose:尝试“up”容器时没有gunicorn
- Pycharm 2017.1 EAP Python控制台和远程Docker解释器不能一起工作
- Kubernetes吊舱正在运行,但dockerPS不给任何输出
- Selenium节点泊坞窗图像NODE_MAX_SESSION和NODE_MAX_INSTANCES envvariables
- 问题部署一个简单的泊坞窗图像openshift