[求助] docker logs 自动输出当天零点生成的日志文件

2022-04-21 16:27:29 +08:00
 opengo

我使用 docker 部署了一个服务,并且使用 tail -f 输出日志,便于 docker logs 的时候查看

但是日志文件每天零点会切割,生成一个新的,已日期命名的日志文件,如何自动输出这个新的日志文件内容呢(因为新的日志会写到这个新的日志文件中)?

xdm 想想办法,有啥好的建议吗

1797 次点击
所在节点    Linux
11 条回复
defunct9
2022-04-21 16:34:04 +08:00
日志扔到 efk 里面去
Judoon
2022-04-21 16:36:47 +08:00
只能说你这个就不是 docker 最佳实践,没法给建议

应用直接前台跑,日志直接输出到 docker 的输出,然后采集 docker 的标准输出即可
opengo
2022-04-21 16:50:39 +08:00
@Judoon 主要是想实现两个地方,一个是日志保存到文件,一个是 docker logs 能直接查看实时日志,我看看能不能使用别的办法分割日志吧,让监听的日志文件名不变
opengo
2022-04-21 16:51:01 +08:00
@defunct9 可以尝试一下
Judoon
2022-04-21 17:05:32 +08:00
@opengo docker 本身也是把日志保存到文件的 /var/lib/docker/containers/<container_hash>/下面
Aliencn
2022-04-21 19:18:17 +08:00
使用 tail -f 输出日志说明日志文件已经落盘了,那就直接把日志目录映射到宿主机上,在宿主机上想怎么看就怎么看
ch2
2022-04-21 19:23:44 +08:00
1. 获取完整容器 ID
docker inspect YOUR_CONTAINER_NAME
2. 读取完整的 docker 日志
/var/lib/docker/containers/YOUR_CONTAINER_ID/YOUR_CONTAINER_NAME-json.log
3. 从里面取出你想要的日志
ragnaroks
2022-04-21 19:46:01 +08:00
应当将日志输出到 stdout ,而且默认情况下也应该是这样
opengo
2022-04-22 00:13:18 +08:00
@Aliencn 已经挂载了,就是想偷个懒 docker logs 能直接看到实时日志 [/捂脸]
opengo
2022-04-22 00:14:10 +08:00
@ch2 了解的,看来这种情况想直接 docker logs 看实时日志不太现实
opengo
2022-04-22 00:15:14 +08:00
@ragnaroks 是的,暂时看得使用外部工具进行分割,内部就监听一个日志就行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/848389

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX