我想使用命令docker system prune
删除所有未使用的容器和图像,但是我希望具有特定驱动程序的网络保持活动状态。
如果我运行docker system prune --filter "driver!=foo"
,则会得到以下结果:Invalid filter 'driver!'
。
当我使用docker network ls
时,可以使用docker network ls --filter driver=foo
过滤特定的驱动程序。
如何在docker system prune中过滤某个驱动程序?
答案 0 :(得分:1)
不支持您尝试应用的过滤器。解决方法是,在创建网络时可以使用label
:
$ docker network create --label=mynet your_network_name_here
然后使用:
docker system prune --filter "label!=mynet"
docs提到docker system prune
支持2种过滤条件:
过滤
当前支持的过滤器是:
- 直到(
<timestamp>
)-仅删除在给定时间戳记之前创建的容器,图像和网络- 标签(
label=<key>
,label=<key>=<value>
,label!=<key>
或label!=<key>=<value>
)-仅删除带有(或不带有{{ 1}}用于指定标签。
label!=...