清除/删除Docker日志

Modified on: Mon, 11 Nov 2019 12:00:02 +0800

在GCE上的docker实现中,我们在根文件系统上的空间不足。

由于图像本身存储在单独的1TB卷上,因此图像本身不应成为问题。

一个候选者是Docker本身存储的集中式日志文件(json文件在哪里?),是否有人知道这些文件/文件位于何处,以及我们如何对它们进行logrotate / truncate?

最佳答案

首先,我正在使用docker 1.1.2作为客户端和服务器,对于较新版本的docker,这个答案可能已经过时,因为docker会快速发展。

文件的位置

找到您的docker目录。在使用apt / debian样式系统的系统上,docker repository https://get.docker.com/ubuntu安装的软件包使用/var/lib/docker。有可能该目录与其他系统位于同一位置(无法确认)。

containers/**CONTAINER_ID**下,你会找到关于容器的信息。
在该文件夹中的文件**CONTAINER_ID**-json.log中,您将找到包含该容器的所有日志的文件。它可能看起来像一个json文件,但事实并非如此。它是一个流json结构,每行一个,每个包含一个日志行(每行以}结束,下一个以{开头,因此它不是有效的json作为一个整体)。

示例位置:
- /var/lib/docker/containers/05b6053c41a2130afd6fc3b158bda4e605b6053c41a2130afd6fc3b158bda4e6/05b6053c41a2130afd6fc3b158bda4e605b6053c41a2130afd6fc3b158bda4e6-json.log

编辑/更改该文件

我建议你使用的路径,或者不是这就是为什么你的空间不足,而不是记录旋转它们。

我宁愿确保容器不会记录太多行(通过在dockerfile中使用CMD将您的输出重定向到卷中的文件或重定向到/ dev / null - 启用日志配置 - 然后我会用另一个容器logrotate日志文件)


相关问答

添加新评论