截至目前,Docker是运行和管理容器最流行的工具。但是,如果你不管理Docker容器生成的日志,它们可能会变大并占用太多的磁盘空间。自动日志轮换是控制日志文件的解决方案。本教程将帮助您使用简单明了的说明在不同场景中设置自动日志轮换。
解决方案
1.单个容器的日志轮换
您可以在运行特定容器时设置日志轮换。使用以下命令运行带有日志选项的容器:
docker run \ --log-driver json-file \ --log-opt max-size=100m \ --log-opt max-file=3 \ my-container
说明:
- 最大大小=100m:每个日志文件将限制在100MB以内。
- max-file=3:只保留三个日志文件。旧文件将被删除。
2.Docker Compose中的日志轮换
使用Docker Compose管理多个容器时,您可以直接在Docker-Compose.yml文件中设置日志轮换选项。
(1)编辑docker-compose.yml:
services: app: image: my-container logging: driver: "json-file" options: max-size: "10m" max-file: "3"
(2)启动您的服务:
docker-compose up
3.全局日志轮换设置
您还可以全局配置日志轮换。因此,该配置将自动应用于系统上运行的所有容器。要对Docker主机上的所有容器应用日志轮换,请在Docker的daemon.json文件中配置全局设置。
(1)查找daemon.json文件
该文件通常位于/etc/docker/daemon.json。如果没有则创建。
(2)编辑文件以添加日志选项
{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }
(3)重启Docker守护进程
sudo systemctl restart docker
总结
作为系统管理员或开发人员,我们知道生产服务器上可用磁盘空间的重要性。因此,处理Docker日志对于保持系统平稳运行非常重要。通过设置日志轮换,您可以防止日志变得太大并占用太多空间。
原创文章,作者:运维侠,如若转载,请注明出处:https://www.yunweixia.com/solutions/docker-log-rotation-automatic-setup-guide.html