
类型:虚拟化技术
简介:基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。
Nginx容器长期运行时,访问日志可能比应用本身更占空间。日志不是业务数据,但没有轮转时,它会把服务器空间一点点吃掉。Compose里加几行logging配置,是最便宜的一层兜底。
先查日志驱动
docker inspect -f '{{.HostConfig.LogConfig.Type}}' 容器名
常见结果是 json-file。没接日志系统时,先用json-file的max-size和max-file就够。
单个服务配置
services:
app:
image: example-app
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
每个日志文件最多10MB,最多保留3份。高频服务可以放宽,但别无限增长。
不同服务分开调
Web访问日志通常最多,数据库日志相对少,任务服务可能短时间爆发。统一默认值可以,但高频服务最好单独调。
配置后要重新创建容器:
docker compose up -d
确认轮转是否生效
docker inspect -f '{{.LogPath}}' 容器名
看目录下有没有 json.log、json.log.1,再观察文件大小。轮转只控空间,不负责长期留存;要审计或排错,还是要接日志收集。
常见问题
max-size设多少合适?轻量服务从10MB或50MB开始。
轮转会不会丢日志?会,旧文件超过数量后删除。
改Compose后没生效?多数是没重新创建容器。

