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"