docker log 日志处理

vi /etc/docker/daemon.json

{
  "log-driver": "json-file",
  "log-opt": {
      "max-size": "10m",
      "max-file": "3"
  }

docker 文档

https://docs.docker.com/v17.09/engine/admin/logging/log_tags/

log-server

https://docs.docker.com/v17.09/engine/admin/logging/log_tags/
容器运行时 每个日志文件最大为10M ,每个容器 最多可以保存3份日志文件

#######################################

docker日志驱动
自docker1.6开始,可以控制docker守护进程和容器的日志驱动了。通过–log-driver选项来实现,可以在启动守护进程或者执行docker run时使用

  • json-file 默认选项
  • syslog 将禁用docker logs命令;将对应容器的日志重定向到syslog中,在启动守护进程时指定该选项,会将所有容器的日志重定向到syslog中
  • none 禁用所有容器中的日志

#######################################

Docker日志太多导致磁盘占满
我有一台服务器上面部署了多个docker容器, 并且每个docker容器都往stderr中源源不断的输出日志,导致今天磁盘被占满了。搜索了一下,docker官方网站上提供了一篇解决方案的文章。

Docker容器在启动/重启的时候会往/var/lib/docker中写东西,如果你在启动docker容器遇到No space left on device的问题,可以按照下面的步骤进行清理相关的日志操作。

  1. 对 /var/lib/docker/containers 下的文件夹进行排序,看看哪个容器占用了太多的磁盘空间

  2. 选择你要清理的容器进行清理

$ cat /dev/null > /var/lib/docker/containers/container_id/container_log_name

上述命令会清空对应的日志,如:

cat /dev/null > /var/lib/docker/containers/374aa0ba92b37d829012282ff15c1bb838d95dedb54589874c4285991be2d4aa/374aa0ba92b37d829012282ff15c1bb838d95dedb54589874c4285991be2d4aa-json.log
  1. 限制日志文件的大小
    启动容器时,可以通过参数设置日志文件的大小、日志文件的格式。
    docker run -it --log-opt max-size=10m --log-opt max-file=3 alpine ash
发布了33 篇原创文章 · 获赞 0 · 访问量 3944

猜你喜欢

转载自blog.csdn.net/erhaiou2008/article/details/103762523
今日推荐