docker - `docker-compose logs` 是从哪里来的?
问题描述
像大多数在此处和此处对稀疏的Docker 文档页面投反对票的人一样,我对所做的事情感到困惑。docker-compose logs
当我运行时cd /apps/laradock/ && docker-compose logs -f nginx
,我看到从很多天前到现在的很长的输出。
那是从什么文件中提取的?
我能找到的唯一 nginx 日志文件是/apps/laradock/logs/nginx/error.log
,它没有太多内容(所以不一样)。
有没有办法“日志轮换”或以其他方式确保我不会在日志记录上花费超过一定数量的磁盘?
解决方案
使用默认的日志记录驱动程序json-file,您的日志存储在/var/lib/docker/containers/<container-id>/
. 请注意,此处记录的是容器 PID 1 的 stdout 和 stderr 的输出。
至于“日志轮换”,json-file 驱动程序有一些选项可以传递给它来限制每个日志文件的大小,以及日志文件的最大数量。请参阅max-size
和max-file
的文档。
使用 docker-compose,您可以设置如下选项:
version: '3'
services:
myservice:
image: ...
logging:
options:
max-file: "3"
max-size: "50m"
推荐阅读
- swiftui - SwiftUI mailComposer 视图
- swift - 无法将类型 () 的返回表达式转换为返回类型 WebImage?
- python - 预期 TensorFlow 计算,发现内在
- javascript - NGRX 选择器更新太频繁
- python - Tkinter 输出显示在 Tkinter 窗口之外
- dns - 使用 Puppeteer 保护 DNS
- python - 使用python针对文件目录自动执行一系列文件比较功能
- hadoop - 使用 Kafka Connect 文件系统连接器使用远程文件
- c++ - 从可调用类型中提取签名
- javascript - JS同步循环没有停止