我正在使用 docker-compose
运行多个容器。我可以使用命令 docker-compose logs
查看应用程序日志。但是,例如,我想访问原始日志文件以将其发送到某个地方?它位于哪里?我猜它是每个容器(在容器内?)的单独日志,但我在哪里可以找到它?
原文由 user606521 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在使用 docker-compose
运行多个容器。我可以使用命令 docker-compose logs
查看应用程序日志。但是,例如,我想访问原始日志文件以将其发送到某个地方?它位于哪里?我猜它是每个容器(在容器内?)的单独日志,但我在哪里可以找到它?
原文由 user606521 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以 docker inspect
每个容器查看它们的日志在哪里:
docker inspect --format='{{.LogPath}}' $INSTANCE_ID
而且,如果您试图找出日志在哪里管理它们的集体大小,或调整日志记录本身的参数,您会发现以下相关内容。
修复为日志保留的空间量
这取自 Request for the ability to clear log history (issue 1083) ):
Docker 1.8 和 docker-compose 1.4 已经存在使用 docker compose log driver 和 log-opt max-size 限制日志大小的方法:
mycontainer:
...
log_driver: "json-file"
log_opt:
# limit logs to 2MB (20 rotations of 100K each)
max-size: "100k"
max-file: "20"
在版本 ‘2’ 的 docker compose 文件中,语法发生了一些变化:
version: '2'
...
mycontainer:
...
logging:
#limit logs to 200MB (4rotations of 50M each)
driver: "json-file"
options:
max-size: "50m"
max-file: "4"
(请注意,在这两种语法中,数字都表示为字符串,用引号括起来)
docker-compose logs
未终止
logs
不会退出原文由 VonC 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答9.5k 阅读
2 回答2.4k 阅读✓ 已解决
2 回答781 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
1 回答1.6k 阅读
2 回答1.2k 阅读
可以在以下位置找到容器的日志:
(如果您使用默认的日志格式,即 json)