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

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

时间:2023-01-16 10:04:01浏览次数:42  
标签:容器 lib 删除 -- var 镜像 docker prune

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://blog.51cto.com/u_11990719/6010061

相关文章

  • Warning: Stopping docker.service, but it can still be activated by: docker.socke
    执行systemctlstopdocker后提示“Warning:Stoppingdocker.service,butitcanstillbeactivatedby:docker.socket”解释:这是docker在关闭状态下被访问自动唤醒机......
  • Rancher安装(新) - CentOS7(Docker)环境
    Rancher安装(新)-CentOS7(Docker)环境 1.拉取镜像dockerpullrancher/rancher 2. 在宿主机上创建Rancher的挂载目录mkdir-p/docker_volume/rancher_home/{r......
  • Matplotlib 绘制折线图
    Matplotlibmatplotlib:最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建绘制折线图绘制两小时的温度变化frommatplotlibimportpyplo......
  • ORA-06502: PL/SQL: 'Numeric or Value Error' When CLOB Convert to VARCHAR2 on a M
    OnadatabasewithmultibytecharactersetlikeAL32UTF8specifiedforNLS_CHARACTERSETthefollowingerrorisreceivedwhenaCLOBwhichcontainsmorethan819......
  • Spring Cloud Netflix 和Spring Cloud alibaba服务技术架构
    SpringCloudNetflix和SpringCloudalibaba服务技术架构比较重点介绍SpringCloudalibaba微服务一站式解决方案SpringCloud本身其实只是一套微服务规范,并不是一个......
  • CentOs 7.4安装Docker以及宝塔
    CentOs7.4.1708博主使用的服务器是CentOs7.4,1核2G1.安装Docker首先打开Docker官网:happy:1.设置仓库我们需要先安装yum-utils包,一会设置docker容器时,我们需要使用......
  • win10 docker desktop wsl2
    现在(2023年1月15日),在win10系统上使用docker,最好的搭配就是wsl2子系统+dockerdesktop的wsl2basedenginedockerdesktop可以在win10系统上安装,较新版本的dockerdesk......
  • docker部署elasticsearch + ik分词器
    Elasticsearch构建docker容器创建文件夹mkdir-pdocker/es/datamkdir-pdocker/es/plugins配置文件cd/docker/esecho"http.host:0.0.0.0">>elasticsearch......
  • 使用docker中的nginx实现反向代理
    场景:宿主机有个目录存储静态资源,需要通过nginx代理出去,用户访问http://host:port/resource/xxxx访问。   1、修改宿主机中的/nginx/conf.d/default.conf文件(该文......
  • docker中离线安装nginx
    注:默认已经安装好docker。 为什么要离线安装?其实离线安装是建立在在线安装的基础上的;因为有可能我们的服务器由于安全问题无法访问外网,自此我们需要将镜像手动上传至服......