docker清缓存、日志、无用镜像

这篇具有很好参考价值的文章主要介绍了docker清缓存、日志、无用镜像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

docker清缓存、日志、无用镜像

docker system df

查看docker各类型文件占用情况

docker system df

该命令列出了 docker 使用磁盘的 4 种类型:

Images: 所有镜像占用的空间,包括拉取的镜像、本地构建的镜像

Containers: 运行中的容器所占用的空间(没运行就不占空间),其实就是每个容器读写层的空间

Local Volumes: 本地数据卷的空间

Build Cache: 镜像构建过程中,产生的缓存数据

RECLAIMABL 这个字段明确了该类型中可以清理的空间

查看每个image、container占用情况

docker system df -v

我们使用 docker 镜像创建容器时,docker会创建一些目录,如:

/var/lib/docker/containers/<容器ID> 目录,如果容器使用了默认的日志模式,那么该容器的日志会以 JSON 形式保存在此目录下。
/var/lib/docker/overlay2 目录,该目录包含容器的读写层,如果容器使用自己的文件系统保存了数据,那么这些数据就会写到此目录下。

1、清理容器日志

Containers 包含的我们容器自身的容量、产生的数据容量、产生的日志容量

# 查看所有容器下日志的大小

find /var/lib/docker/containers/ -name *-json.log |xargs du -sh

# 写个空文件到容器日志中

cat /dev/null > /var/lib/docker/containers/3c1452f817fad2296d1c105112faed89d01feaa4ee094e8622c959e072012f7a/3c1452f817fad2296d1c105112faed89d01feaa4ee094e8622c959e072012f7a-json.log

# 将某个日志文件清零

truncate -s 0 /var/lib/docker/containers/3c1452f817fad2296d1c105112faed89d01feaa4ee094e8622c959e072012f7a/3c1452f817fad2296d1c105112faed89d01feaa4ee094e8622c959e072012f7a-json.log

这里可以看出我的其中一个容器的日志已经到14G

设置容器日志的最大容量,下面是nginx的设置的例子

nginx:
image: nginx:1.12.1
restart: always
logging:
driver: "json-file"
options:
max-size: "5g"

2、清理无用的image、volume、container

如果发现有些容器、数据卷是没有被使用的,此时可以通过下面命令清理 Docker 占用的空间

清理所有没用的image、volume、container、 但是这个呢会把你暂时停止的容器、镜像也删除掉、当前命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)

docker system prune

# 当前命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉

docker system prune -a

当然也是有其他选择的:

#删除所有关闭的容器:

docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm

#删除所有dangling镜像(即无tag的镜像):

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

#删除所有dangling数据卷(即无用的Volume):

docker volume rm $(docker volume ls -qf dangling=true)

#数据卷容器删除

docker rm -v 卷名

参考命令:

df -h查看磁盘使用情况
df -i 查看inode使用情况
du -sh *查看当前目录下各个文件及目录占用空间大小
df -h和du -sh显示的磁盘大小不一致原因及解决办法
df -hT显示132G空间全部占用,du -sh显示只占用**30G**docker system df

# 查看docker各类型文件占用情况

docker system df

该命令列出了 docker 使用磁盘的 4 种类型:

Images: 所有镜像占用的空间,包括拉取的镜像、本地构建的镜像

Containers: 运行中的容器所占用的空间(没运行就不占空间),其实就是每个容器读写层的空间

Local Volumes: 本地数据卷的空间

Build Cache: 镜像构建过程中,产生的缓存数据

\# RECLAIMABL 这个字段明确了该类型中可以清理的空间

查看每个image、container占用情况

docker system df -v

我们使用 docker 镜像创建容器时,docker会创建一些目录,如:

/var/lib/docker/containers/<容器ID> 目录,如果容器使用了默认的日志模式,那么该容器的日志会以 JSON 形式保存在此目录下。
/var/lib/docker/overlay2 目录,该目录包含容器的读写层,如果容器使用自己的文件系统保存了数据,那么这些数据就会写到此目录下。

1、清理容器日志

Containers 包含的我们容器自身的容量、产生的数据容量、产生的日志容量

# 查看所有容器下日志的大小

find /var/lib/docker/containers/ -name *-json.log |xargs du -sh

# 写个空文件到容器日志中

cat /dev/null > /var/lib/docker/containers/3c1452f817fad2296d1c105112faed89d01feaa4ee094e8622c959e072012f7a/3c1452f817fad2296d1c105112faed89d01feaa4ee094e8622c959e072012f7a-json.log

# 将某个日志文件清零🆑

truncate -s 0 /var/lib/docker/containers/3c1452f817fad2296d1c105112faed89d01feaa4ee094e8622c959e072012f7a/3c1452f817fad2296d1c105112faed89d01feaa4ee094e8622c959e072012f7a-json.log这里可以看出我的其中一个容器的日志已经到`14G`

设置容器日志的最大容量,下面是nginx的设置的例子

nginx:
image: nginx:1.12.1
restart: always
logging:
driver: "json-file"
options:
max-size: "5g"

2、清理无用的image、volume、container

如果发现有些容器、数据卷是没有被使用的,此时可以通过下面命令清理 Docker 占用的空间

清理所有没用的image、volume、container、但是这个呢会把你暂时停止的容器、镜像也删除掉、当前命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)
docker system prune

# 当前命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉

docker system prune -a

当然也是有其他选择的:

#删除所有关闭的容器:

docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm

#删除所有dangling镜像(即无tag的镜像):

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

#删除所有dangling数据卷(即无用的Volume):

docker volume rm $(docker volume ls -qf dangling=true)

#数据卷容器删除

docker rm -v 卷名

参考命令:文章来源地址https://www.toymoban.com/news/detail-735058.html

df -h查看磁盘使用情况
df -i 查看inode使用情况
du -sh *查看当前目录下各个文件及目录占用空间大小
df -h和du -sh显示的磁盘大小不一致原因及解决办法
df -hT显示132G空间全部占用,du -sh显示只占用30G

到了这里,关于docker清缓存、日志、无用镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jenkins空间不足清理无用数据释放空间

    最近需要使用Jenkins构建新项目,发现构建报错,检查日志发现是磁盘空间不足导致的,于是开始排查磁盘空间为何不足并且清理磁盘不用的数据。 一般情况下,Jenkins都是安装在 /var/lib/jenkins 路径下,相对应产生的一些数据也会存在该路径所对应的挂载点中,那么跟随这个路

    2024年02月07日
    浏览(41)
  • Docker Build Cache 缓存清理

    Docker 18.09 引入了 BuildKit ,提升了构建过程的性能、安全、存储管理等能力。 docker system df 命令,类似于 Linux上的 df 命令,用于查看 Docker 的磁盘使用情况: TYPE 列出了 Docker 使用磁盘的 4 种类型: 类型 说明 Images 所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。

    2024年01月17日
    浏览(30)
  • 清理docker日志

    1、docker容器的日志一般都保存在系统的/var/lib/docker/containers路径下。 2、查询日志大小 ls -lh $(find /var/lib/docker/containers/ -name *-json.log) 3、清理日志 清理日志有两个办法一个是清空内容,一个是删除日志。使用第二种方法要重启docker truncate -s 0 /var/lib/docker/containers/xxx-json.log  查

    2024年02月11日
    浏览(28)
  • 设置、清理docker容器日志

    1、清理docker容器日志 a. 通过df -h查询存储使用率 b. 通过du -sh /var/lib/docker/* | sort -nr查询文件大小 c. 可使用脚本来批量清理容器日志,代码如下: #!/bin/sh echo “======== start clean docker containers logs \\\" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do echo “clean logs : $log”

    2024年02月16日
    浏览(34)
  • eureka的docker镜像部署

    项目结构  1.pom.xml文件 2.EurekaServerApplication主函数类 3.application.yml配置文件 4.选择进行打jar包 5.打开linux虚拟机,启动docker镜像,并创建目录为了方便编写自定义镜像  6.创建docker目录,把jar包粘贴过来,并重命名(为了后面调用时方便) 选择新建文件,编写DockerFile文件 选择

    2024年02月06日
    浏览(32)
  • 清理Docker部署的log日志文件

    当使用docker部署应用后,使用了一段时间后,发现服务器的磁盘空间一直在消耗。甚至达到了97%的磁盘使用率。那么问题来了,是通过加钱增加磁盘控件呢?还是通过“瘦身”的方式实现呢?下面就以清理docker的log日志来实现“瘦身”。 docker的log日志文件一般存放在 /var/li

    2024年02月13日
    浏览(28)
  • Eureka 学习笔记1:服务端实例缓存

    版本 awsVersion = ‘1.11.277’ 缓存 类型 registry ConcurrentHashMapString, MapString, LeaseInstanceInfo AbstractInstanceRegistry成员变量 readWriteCacheMap LoadingCache ResponseCacheImpl成员变量 readOnlyCacheMap ConcurrentMapKey, Value ResponseCacheImpl成员变量 registry evictionIntervalTimerInMs 指定清理未续约服务实例的时间间隔

    2024年02月15日
    浏览(32)
  • Eureka 学习笔记6:服务端实例缓存

    版本 awsVersion = ‘1.11.277’ 缓存 类型 registry ConcurrentHashMapString, MapString, LeaseInstanceInfo AbstractInstanceRegistry成员变量 readWriteCacheMap LoadingCache ResponseCacheImpl成员变量 readOnlyCacheMap ConcurrentMapKey, Value ResponseCacheImpl成员变量 registry evictionIntervalTimerInMs 指定清理未续约服务实例的时间间隔

    2024年02月12日
    浏览(24)
  • 百度APP iOS端包体积50M优化实践(六)无用方法清理

    百度APP包体积经过一期优化,如无用资源清理,无用类下线,Xcode编译相关优化,体积已经有了明显的减少。但是优化后APP包体积在iPhone11上仍有350M的空间占用。与此同时百度APP作为百度的旗舰APP,业务迭代非常多且迅速,体积优化和防劣化仍然是当前阶段的一个核心任务。

    2024年02月07日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包