docker产生日志过大优化

1、Docker容器启动后日志存放位置

#cat /var/lib/docker/containers/容器ID/容器ID-json.log

#echo >/var/lib/docker/containers/容器ID/容器ID-json.log临时清除日志

注:echo一个空进去,不需要重启容器,但如果你直接删除这个日志,容器并不会释放空间,需要重启容器。这是一个临时解决方案,当然你也可以写定时任务清理。

2、通过docker run的log-opt参数优化日志

docker run -d \

--name example-container \

--log-opt max-size=10m \

--log-opt max-file=3 \

nginx:latest

  • max-size=10m:限制单个日志文件的最大大小为 10MB。
  • max-file=3:限制日志文件的数量为 3 个。

当日志文件达到10MB时,Docker会自动轮换日志文件,保留最新的3个日志文件。

3、通过docker-compose的max-size选项来实现日志优化

nginx:

image: nginx:1.12.1

restart: always

logging:

driver: "json-file"

options:

max-size: "5g"

需要down然后再up,restar是不会重读到这个配置的重启nginx容器之后,其日志文件的大小就被限制在5GB,再也不用担心了。

4、全局设置docker日志优化

4.1配置 daemon.json 文件

新建/etc/docker/daemon.json若有就不用新建了,添加log-dirver和log-opts参数,如下:

#vim /etc/docker/daemon.json

{

"log-driver": "json-file",

"log-opts": {"max-size": "500m", "max-file": "3"}

}

max-size=500m,意味着一个容器日志大小上限是500M,

max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。

注意:需要重启docker

4.2重启docker服务

systemctl daemon-reload && systemctl restart docker

相关推荐
Nontee14 小时前
Docker基础
docker·容器·eureka
烟雨江南aabb15 小时前
Docker第一弹 Docker是什么?
运维·docker·容器
ai产品老杨15 小时前
解耦异构算力与多协议接入:基于 Docker 与 GB28181 的企业级 AI 视频管理平台架构演进与源码交付实践
人工智能·docker·音视频
2301_8035389515 小时前
Pod启动失败?K8s中Pod创建常见问题与排查指南
docker·容器·kubernetes
YDS82915 小时前
浅谈近期关于Docker部署产生的一些问题
运维·docker·容器
日取其半万世不竭16 小时前
给 Docker 容器设置 CPU 和内存限制,避免单个服务拖垮整机
java·docker·容器
AI服务老曹17 小时前
解耦异构算力与多路协议:基于 Docker 部署与源码交付的企业级 GB28181/RTSP 边缘计算 AI 视频管理平台架构深度解析
人工智能·docker·边缘计算
日取其半万世不竭17 小时前
Docker Compose 服务备份方案:配置、数据和数据库怎么打包
数据库·docker·容器
生活爱好者!17 小时前
用NAS进行漫画创作!一键部署Open WebUI
java·服务器·开发语言·安全·docker
IT策士17 小时前
Docker 从 0 到 1 再到 Kubernetes 实战:第4篇 编写你的第一个 Dockerfile
docker·容器·kubernetes