使用docker system prune过滤网络

时间:2019-02-25 13:13:04

标签: docker

我想使用命令docker system prune删除所有未使用的容器和图像,但是我希望具有特定驱动程序的网络保持活动状态。

如果我运行docker system prune --filter "driver!=foo",则会得到以下结果:Invalid filter 'driver!'

当我使用docker network ls时,可以使用docker network ls --filter driver=foo过滤特定的驱动程序。

如何在docker system prune中过滤某个驱动程序?

1 个答案:

答案 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!=...