Docker容器日志占用我所有的磁盘空间

我正在VM上运行一个容器。 我的容器默认情况下将日志写入/var/lib/docker/containers/CONTAINER_ID/CONTAINER_ID-json.log文件,直到磁盘已满。

目前,我不得不手动删除这个文件,以避免磁盘已满。 我读过Docker 1.8中将有一个参数来旋转日志 。 你会推荐什么作为当前的解决方法?

Docker 1.8已经发布了一个日志旋转选项。 添加:

 --log-opt max-size=50m 

当容器启动的时候就是这样做的。 您可以通过以下url了解更多信息: https : //docs.docker.com/engine/admin/logging/overview/

警告:这篇文章涉及到docker版本<1.8(没有--log-opt选项)

你为什么不使用logrotate(它也支持压缩)?

 /var/lib/docker/containers/*/*-json.log { hourly rotate 48 compress dateext copytruncate } 

直接在CoreOs节点上configuration它,或者部署一个装载/ var / lib / docker的容器(例如https://github.com/tutumcloud/logrotate )来旋转日志。

小心:这仅适用于docker-compose版本2

例:

 version: '2' services: db: container_name: db image: mysql:5.7 ports: - 3306:3306 logging: options: max-size: 50m