Docker下/var/lib/docker/overlay2空间清理办法
 1. 查看磁盘占用
     df -h
 2. Docker 的内置 CLI 指令docker system df
     可用于查询镜像(Images)、容器(Containers)和本地卷(Local Volumes)等空间使用大户的空间占用情况。
     ~]# docker system df
     查看详细
     ~]# docker system df -v
 3. 空间清理
     【1】通过 Docker 内置的 CLI 指令docker system prune来进行自动空间清理。
     ~]# docker system prune --help
     该指令默认会清除所有如下资源:
         已停止的容器(container)
         未被任何容器所使用的卷(volume)
         未被任何容器所关联的网络(network)
         所有悬空镜像(image)。
         
     该指令默认只会清除悬空镜像,未被使用的镜像不会被删除。添加-a 或 --all参数后,可以一并清除所有未使用的镜像和悬空镜像。
     可以添加-f 或 --force参数用以忽略相关告警确认信息。
     【2】另外除了system级别的,还有针对容器或是镜像级别的删除命令:
     docker image prune:删除悬空的镜像。
     docker container prune:删除无用的容器。
       --默认情况下docker container prune命令会清理掉所有处于stopped状态的容器
       --如果不想那么残忍统统都删掉,也可以使用--filter标志来筛选出不希望被清理掉的容器。例子:清除掉所有停掉的容器,但24内创建的除外:
       --$ docker container prune --filter "until=24h"  
    docker volume prune:删除无用的卷。
     docker network prune:删除无用的网络
     【3】手动清除
         对于悬空镜像和未使用镜像可以使用手动进行个别删除:
         1、删除所有悬空镜像,不删除未使用镜像:
         docker rmi $(docker images -f "dangling=true" -q)
         2、删除所有未使用镜像和悬空镜像
         docker rmi $(docker images -q)
         3、清理卷
         如果卷占用空间过高,可以清除一些不使用的卷,包括一些未被任何容器调用的卷(-v 详细信息中若显示 LINKS = 0,则是未被调用):
         删除所有未被容器引用的卷:
         docker volume rm $(docker volume ls -qf dangling=true)
         4、容器清理
         如果发现是容器占用过高的空间,可以手动删除一些:
         删除所有已退出的容器:
         docker rm -v $(docker ps -aq -f status=exited)
         删除所有状态为dead的容器
         docker rm -v $(docker ps -aq -f status=dead)
 4. 查找系统中的大文件【以上三步仍然不可以的时候执行】
      find /var/lib/docker/overlay2/ -type f -size +100M -print0 | xargs -0 du -h | sort -nr 
      # 查找指定目录下所有大于100M的所有文件
      
 5. 对标准输入日志大小与数量进行限制
     新建或修改/etc/docker/daemon.json,添加log-dirver和log-opts参数
     vi /etc/docker/daemon.json
     {
        "log-driver":"json-file",
        "log-opts": {"max-size":"3m", "max-file":"1"}
     }
重启docker的守护线程
    systemctl daemon-reload
     systemctl restart docker
 6. docker 清理空间命令
     删除悬空镜像
     docker rmi $(docker images -f "dangling=true" -q)
     docker image prune -a -f
     #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID,
     sudo docker ps -a|grep Exited|awk '{print $1}'
     #查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器
     sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'`
     方法二: 
     #删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)
     sudo docker rm $(sudo docker ps -a -q)
      
     方法三:
     #根据容器的状态,删除Exited状态的容器
     sudo docker rm $(sudo docker ps -qf status=exited)
      
     方法四:
     #Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器。
     sudo docker container prune
      
     #删除所有镜像
     sudo docker rmi $(docker images -q)
 7. 实在没办法,只有把/var目录下所有日志文件清空
     ~]# for i in `find /var -name *.log*`;do >$i;done
     然后重启node节点,因为有些日志文件被占用,清空后空间仍然无法释放










