daemon.json配置docker容器日志大小及错误排查

docker日志目录:/var/lib/docker/containers/<容器id>/

docker容器的运行日志,如果不加以限制,会越来越大,占用非常大的磁盘空间。可以通过daemon.json配置docker日志文件大小,全局有效。

    docker安装后默认没有daemon.json这个配置文件,需要进行手动创建,docker不管是在哪个平台以何种方式启动, 默认都会来这里读取配置,使用户可以统一管理不同系统下的 docker daemon 配置。

    如果在daemon.json文件中进行配置,需要docker版本高于1.12,配置文件的默认径为:/etc/docker/daemon.json      

    该文件作为 Docker Engine 的配置管理文件, 里面几乎涵盖了所有 docker 命令行启动可以配置的参数。

如果没有daemon.json,新建一个,添加以下内容:

{
"exec-opts": [""],
"log-driver":"json-file",
 "log-opts": {
   "max-size": "300m",
   "max-file": "1"
 }
}

然后重启docker守护进程:

systemctl daemon-reload
systemctl restart docker

如果docker无法启动报错,使用dockerd查看输出错误信息:

dockerd

在网上看到docker无法启动后,systemctl status docker.service、cat /lib/systemd/system/docker.service等等,各种排查,其实都不能有效的找出错误原因,只有dockerd才是输出有效的错误信息。

另外需要注意,改动了daemon.json后,都一定是要运行systemctl daemon-reload和systemctl restart docker来重启docker。

如果是docker-compose来运行容器的,也可以在 docker-compose.yml 中添加:

logging:
  driver: "json-file"
  options:
    max-size: "10m"
    max-file: "3"

本文链接: https://www.168itw.com/tech/docker-log-opts/
转载请注明转载自:168itw

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注