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

Linux系统Docker下面/var/lib/docker/overlay2磁盘空间清理相关推荐

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

    Docker下/var/lib/docker/overlay2空间清理办法 1. 查看磁盘占用     df -h 2. Docker 的内置 CLI 指令docker system df     可 ...

  2. docker删除/var/lib/docker/overlay2 后无法创建镜像,或者拉取镜像

    问题描述: 误删/var/lib/docker/overlay2 下的某些镜像文件重新拉取镜像,和创建容器出现报错 docker: Error response from daemon: error ...

  3. 【docker】 /var/lib/docker/overlay2/ 占用磁盘问题

    df -h 查看到下面的路径,占用快满了 而如果把 /var/lib/docker/overlay2/ ,里面的内容删除的话,docker pull要报错 failed to register lay ...

  4. docker目录 /var/lib/docker/containers 日志清理

    一.概述 Docker在不重建容器的情况下,日志文件默认会一直追加,时间一长会逐渐占满服务器的硬盘的空间,内存消耗也会一直增加. 查出占用磁盘较大的文件 Docker 的日志文件存在 /var/lib ...

  5. docker系统中/var/lib/docker/overlay2

    https://www.cnblogs.com/snooker/p/10963377.html 一.迁移/var/lib/docker目录 1.du -hs /var/lib/docker/ 命令查看 ...

  6. /var/lib/docker/overlay2 占用很大,清理Docker占用的磁盘空间,迁移 /var/lib/docker 目录

    0  du -hs /var/lib/docker/ 命令查看磁盘使用情况. linlf@dacent:~$ sudo du -hs /var/lib/docker/ 237G /var/lib/do ...

  7. 解决/var/lib/docker/overlay2占用很大、容器无法启动问题

    #  解决办法 1. 查看docker文件夹磁盘使用情况 # docker -hs  /var/lib/docker 2. 查看docker磁盘使用情况 #   docker system df 3. ...

  8. error creating overlay mount to /var/lib/docker/overlay2

    先停止docker服务:systemctl stop docker 清理镜像:rm -rf /var/lib/docker 再次启动服务,如果启动报如下错:docker: open /var/lib/ ...

  9. docker 占用磁盘空间清理 无用数据卷删除

    目录 1.删除未被任何容器使用的本地卷 2. Docker System命令 3. 手动清理Docker镜像/容器/数据卷 3. 限制容器的日志大小 4. 重启Docker 1.删除未被任何容器使用的 ...

最新文章

  1. (基础篇)PHP字符串函数
  2. linux 上操作mysql
  3. Hadoop安装过程
  4. aspose java_Aspose.Cells for Java
  5. 查看linux硬核上的线程,给大家分享一点基础硬核知识哦 Linux的基础指令操作Lin...
  6. .读取excel表格(JAVA)
  7. Ctrl+D 快捷键:浏览器 · 添加收藏按钮
  8. 使用.NET Standard 2的Elasticsearch,Kibana和Docker
  9. 一、K3 WISE 实施顾问教程《进度1-谈谈实施顾问》
  10. python图书馆预约系统_python实现图书馆研习室自动预约功能
  11. echarts自适应
  12. mysql 解压版安装及DATA初始化 root用户密码修改
  13. 路由表的下一跳地址如何计算
  14. 如何使用Github实现协同工作(例子:两人合作写代码)
  15. szszszszsz
  16. 手把手带你入门 API 开发
  17. Scheme 语言概要(下)
  18. Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class lzl.edu.c
  19. 互联网发展史【计网】
  20. erp软件的主要功能

热门文章

  1. tensorflow-GPU+win10+GT730安装
  2. 《麦肯锡方法》读书思维导图
  3. Spring Data Rest!五分钟帮我们实现Rest服务
  4. 硕士最高可提至100万/人!江苏某地再调整公积金政策
  5. kail Linux httrack简单使用教程
  6. MYSQL-主键索引与二级索引
  7. 【c/c++】isdigit()函数
  8. Git 回退到指定版本
  9. iOS开发--底层开发之越狱开发第一篇
  10. linux xfs 缩小大小,xfs文件系统调整lvm容量