美文网首页
10、Docker容器日志写满解决方式

10、Docker容器日志写满解决方式

作者: 六弦极品 | 来源:发表于2019-10-09 09:56 被阅读0次

使用Docker容器启动服务时,常常会由于容器内的日志过多导致把宿主机的磁盘写满。

容器日志目录
容器日志的位置,磁盘已经被容器日志写满,则需要找到对应的日志并进行删除。

默认情况下,每个容器的日志默认都会以json-file的格式存储于 /var/lib/docker/containers/容器ID/容器ID-json.log文件中。
如果你的磁盘已经被日志打满,此时可以清除该文件来释放空间。需要注意的是,不建议直接使用rm命令删除日志文件,因为在某些情况下,rm命令无法直接释放磁盘空间。

一种推荐的删除方式如下:

echo " " > /var/lib/docker/containers/容器ID/容器ID-json.log

docker配置文件中配置日志信息
上述方法总是治标不治本。为了解决该问题,我们希望能直接限制容器日志的大小。
限制容器日志的方式分为全局限制和单个容器限制。我们首先来说明如下进行全局限制。

创建/修改/etc/docker/daemon.json该文件,在该文件中增加如下配置:

{
  "log-driver":"json-file",
  "log-opts":{ "max-size" :"1g","max-file":"1"}
}

此时,表示全局限制所有容器的默认日志配置为json-file格式且最大限制为1G。

docker容器启动命令中配置日志信息
有时,我们希望仅仅针对单个容器进行限制,那么此时方式如下:
在docker run的容器启动命令中添加如下参数:

--log-opt max-size=1g --log-opt max-file=1

compose文件中配置日志信息
很多时候,我们启动容器不是通过docker run进行挨个启动,而是通过compose进行统一的管理。
此时,我们同样可以在compose的配置文件中进行容器日志的限制。

一个示例如下:

version: "2"
services:
  mysql:
    image: mysql
    logging:
      driver: "json-file"
      options:
        max-size: "1g"

相关文章

  • 10、Docker容器日志写满解决方式

    使用Docker容器启动服务时,常常会由于容器内的日志过多导致把宿主机的磁盘写满。 容器日志目录容器日志的位置,磁...

  • Docker容器日志清理

    docker容器导致主机磁盘空间满了 如何清理Docker容器日志? 如何找出docker容器日志文件 容器日志一...

  • Docker容器日志清理

    docker容器导致主机磁盘空间满了 如何清理Docker容器日志? 如何找出docker容器日志文件 容器日志一...

  • 【现学现忘Docker基础】— 12.Docker常用命令:容器

    10、查看容器日志 命令:docker logs -f -t --tail 容器ID 常用参数说明 -t:日志信息...

  • docker容器日志清理

    如何清理Docker容器日志? 如何找出docker容器日志文件容器日志一般存放在/var/lib/docker下...

  • docker 容器日志清理方案

    本文为转载,原文:docker 容器日志清理方案 docker容器日志清理方案 找出容器日志 在linux上,容器...

  • Docker 网络操作

    1. 借鉴 docker中容器之间通信方式docker启动、重启、日志查看命令18 - Docker networ...

  • Docker 容器日志管理

    Docker 日志分为两类: Docker 引擎日志(也就是 dockerd 运行时的日志), 容器的日志,容器...

  • docker logs 使用笔记

    docker日志类型分为docker自身运行的Daemon日志内容和docker容器日志内容类型,docker打印...

  • docker

    docker 镜像重命名# 如何找出docker容器日志文件 容器日志一般存放在/var/lib/docker下面...

网友评论

      本文标题:10、Docker容器日志写满解决方式

      本文链接:https://www.haomeiwen.com/subject/tgywpctx.html