该命令的作用是用来删除docker日志,主要是针对dokcer磁盘占用和清理问题
1.可以查看下帮助命令(如下)
docker system prune -h
有两个选项: --all,意思是删除所有unused镜像,而不单单是dangling状态的镜像--f,意思是跳过确认选择,直接删除
2.下图为执行docker system prune并确认删除后的截图:
可以看到罗列出4种会被prune的对象以及其他信息,包括: stopped containers, 不是运行状态的containerunused volumes,不被任何container引用的volume,所谓dangling volume,一般删除了某个container后,可能会产生这样的volume,可以通过docker rm -v避免这种dangling volumeunused network,不被任何container引用的networkdangling images,不被任何container引用的image每个被删除的对象都能看到它的ID,比如container ID、volume ID最后有个释放空间大小的summary
相对docker system df的实现,由于prune的目的明确,所以它的代码实现逻辑应该也比较简单:利用df实现的相关逻辑找出目标对象,然后删除它们。