linux rancher 清理docker容器磁盘空间

简介: linux rancher 清理docker容器磁盘空间

目录说明

/var/lib/docker/containers: 是 Docker 在 Linux 系统上默认存储容器信息的目录。在该目录下,每个运行的 Docker 容器都有一个单独的目录,以容器 ID 命名,其中包含有关该容器的元数据和日志文件。


具体来说,每个容器目录中通常包括以下文件和目录:


config.v2.json:包含该容器的配置信息,如运行时环境、挂载点等

hostname:该容器的主机名。

hosts:该容器的 hosts 文件。

resolv.conf:该容器的 DNS 配置文件。

log.*.json:该容器的日志文件。Docker 通过在主机上安装的日志驱动程序将容器的标准输出和标准错误输出写入这些文件中。

注意,Docker 默认情况下会保留容器的日志文件,即使容器已经停止或删除。这可能会占用大量磁盘空间,因此您可能需要定期清理这些日志文件,以便释放磁盘空间。可以使用 sudo truncate -s 0 /var/lib/docker/containers/*/*-json.log 命令清空日志文件,或者使用工具如 logrotate 定期轮换和清理日志文件。


/var/lib/docker/overlay2:目录下存储着 Docker 容器的数据,包括容器文件系统的镜像和运行时数据。这个目录的日志通常存储在容器的日志文件中,而不是直接存储在该目录中。


如果您想要清理该目录中的数据,需要注意以下几点:


1.不要直接删除该目录中的文件,否则可能会导致容器无法正常运行。

2.在清理之前,应该先停止所有正在运行的 Docker 容器,以确保容器的数据已经写入磁盘并保存。

3.清理的时候应该小心谨慎,避免误删数据。

对于日志的清理,可以使用 Docker 自带的 docker system prune 命令来清理不再使用的镜像、容器、网络等资源,以及其它无用数据,包括一些旧的日志文件。


具体地,可以使用以下命令清理 Docker 中的无用数据,包括旧的日志文件:

sudo docker system prune --all --force --volumes


该命令会删除所有未被使用的镜像、容器、网络和卷,并且强制删除,包括卷数据和所有关联的日志文件。


需要注意的是,该命令会删除所有未使用的 Docker 资源,包括一些可能还有用的数据,因此在使用该命令时应该慎重考虑。如果您不确定是否要删除某些数据,可以先备份数据,然后再进行清理操作。


清理

查看docker 占用的


空间命令

docker system df


df694f5525f44dd285921be7cbc81ec2.png


TYPE 列出了docker 使用磁盘的 4 种类型:


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

Containers:运行的容器占用的空间,表示每个容器的读写层的空间。

Local Volumes:容器挂载本地数据卷的空间。

Build Cache:镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)。

最后的 RECLAIMABLE 是可回收大小。


一键清理无用空间

docker system prune


c001b05cf74d43b0a7e4a3e97ba06d35.png


清理docker日志,日志文件无法删除,我们对json文件内容进行赋空


1.进入/var/lib/docker/containers目录

2.执行du -ha命令查看当前目录占用空间大小

3.删除命令sudo truncate -s 0 /var/lib/docker/containers/*/*-json.log,这个命令会将 Docker 容器的所有日志文件截断为零字节,即清空日志文件,但不会删除这些文件。


相关文章
|
11天前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
52 10
|
2月前
|
存储 Linux
Linux环境下删除大文件后磁盘空间未释放问题诊断流程。
以上诊断流程涉及Linux底层机制与高级管理技能结合之处,并需要管理员根据实际环境灵活调整诊断策略与解决方案。
146 8
|
存储 监控 安全
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
|
12月前
|
Ubuntu 安全 Linux
|
11月前
|
存储 Linux Docker
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
851 2
|
12月前
|
缓存 运维 Docker
容器化运维:Docker Desktop 占用磁盘空间过大?教你轻松解决!
Windows Docker Desktop 使用过程中,因镜像、容器数据及构建缓存的累积,可能导致磁盘空间占用过高。通过删除无用镜像与容器、压缩磁盘以及清理构建缓存等方法,可有效释放空间。具体步骤包括关闭WSL、使用`diskpart`工具压缩虚拟磁盘、执行`docker buildx prune -f`清理缓存等。这些操作能显著减少磁盘占用,提升系统性能。
2957 4
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
前端开发 开发工具 git
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
197 5
|
安全 Linux 虚拟化
10-26|我现在加了,在容器内也可以改时间了,但是我在容器内改了,为什么会影响到linux机子啊
10-26|我现在加了,在容器内也可以改时间了,但是我在容器内改了,为什么会影响到linux机子啊
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?