首页 > 其他分享 >Docker下/var/lib/docker/overlay2空间清理办法

Docker下/var/lib/docker/overlay2空间清理办法

时间:2022-12-15 16:46:56浏览次数:66  
标签:容器 lib 删除 -- var 镜像 docker prune

Docker下/var/lib/docker/overlay2空间清理办法

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节点,因为有些日志文件被占用,清空后空间仍然无法释放

标签:容器,lib,删除,--,var,镜像,docker,prune
From: https://www.cnblogs.com/xiao-xue-di/p/16985414.html

相关文章

  • LIBS(1-数据的展示)
    LIBS-数据的展示libs中需要将数据给展示出来,一开始打算自己写一个数据绘制的控件,参考了b站的视频WPF图表控件库WindChart3_哔哩哔哩_bilibili但在此遇到一个问题,在计......
  • 3.2 Docker 容器操作命令 1. 容器生成
    在本地有了镜像之后(默认安装Docker后,会自带初始镜像,可通过Dockerimages命令进行查看),开发者就可以使用镜像生成容器,具体命令如下:dockerrun-d-p8888:8080--nam......
  • 3. Docker 命令操作 3.1 Docker 镜像操作命令
    开发者在装有Docker的机器上可以使用一些命令,进行镜像的管理。命令如下。1.镜像的查看使用以下命令可以查看本地镜像列表,展示结果如图7所示。其中IMAGE_ID为镜像......
  • 1.6 Docker 容器 ip 和端口映射
    在Dokcer中共有四种网络模式:⚫host模式,使用--net=host指定⚫container模式,使用--net=container:NAMEorID指定⚫none模式,使用--net=none指定⚫bridge模......
  • 2. Docker 安装
    目前Docker官方提供Ubuntu、CentOS、Windows、MacOS操作系统的安装包。具体支持版本如下: ➢Ubuntu◼UbuntuPrecise12.04(LTS)◼UbuntuTrusty14.04(LTS)......
  • Docker学习笔记十二:Docker安装MySQL
    下载命令:dockerpullmysql:5.7安装可参考Docker Hub官网说明的镜像的用法  安装 不挂载目录启动容器创建容器命令:dockerrun-d--name=mysql1-p3307:......
  • 1.1 Docker 和虚拟机
    虽然Docker和虚拟机有着很多的相似之处,但是Docker和虚拟机之间有着本质的区别。  从图中可以看出虚拟机运行基于6层结构。6层结构包括硬件层、宿主机操作系统......
  • 1.2 Docker Container
    DockerContainer(容器)即Docker将宿主机隔开的一个个独立空间。在容器内部我们可以像操作普通系统一样操作容器。容器完全使用沙箱机制,相互之间不会有任何接口,几乎没有......
  • 1.3 Docker Image
    DockerImage(镜像)可以看作是一个特殊的文件系统。即对某一时刻容器状态的备份。镜像不包含任何动态数据,其内容在构建之后也不会被改变。比如我们在一个容器内安装了JDK......
  • 1.4 Docker Registry
    DockerRegistry(记录中心)是Docker官方及一些第三方机构(国内比如阿里、腾讯都提供有Docker的记录中心)为了方便大家更轻松的开发Docker环境,将一些常用的容器打包成......