就像大多数拒绝稀疏Docker docs page here和here的人一样,我对docker-compose logs
的所作所为感到困惑。
运行cd /apps/laradock/ && docker-compose logs -f nginx
时,我看到很多天以前直到现在的输出非常长。
从哪个文件中提取文件?
我唯一可以找到的nginx日志文件是/apps/laradock/logs/nginx/error.log
,并且其中没有太多文件(所以不一样)。
有没有一种方法可以“日志轮转”或以其他方式确保我在日志上的花费不超过一定数量的磁盘?
答案 0 :(得分:5)
使用默认的日志记录驱动程序json-file,您的日志存储在/var/lib/docker/containers/<container-id>/
中。请注意,这里记录的是容器PID 1的stdout和stderr的输出。
至于“日志旋转”,json-file驱动程序具有一些选项,您可以将其传递给它,以限制每个日志文件的大小以及日志文件的最大数量。请参见max-size
和documentation中的max-file
。
使用docker-compose,您可以设置以下选项:
version: '3'
services:
myservice:
image: ...
logging:
options:
max-file: "3"
max-size: "50m"
答案 1 :(得分:2)
这取决于使用哪个logging driver。
您可以使用以下命令检查为Docker守护程序配置了哪一个:
docker info -f '{{.LoggingDriver}}'
默认驱动程序json-file登录到:
/var/lib/docker/containers/<container-id>/<container-id>-json.log
Docker compose然后在docker-compose.yml中汇总每个容器的日志。
答案 2 :(得分:0)
您可能希望查看this文档。