我使用 docker 部署了一个服务,并且使用 tail -f 输出日志,便于 docker logs 的时候查看
但是日志文件每天零点会切割,生成一个新的,已日期命名的日志文件,如何自动输出这个新的日志文件内容呢(因为新的日志会写到这个新的日志文件中)?
xdm 想想办法,有啥好的建议吗
1
defunct9 2022-04-21 16:34:04 +08:00
日志扔到 efk 里面去
|
2
Judoon 2022-04-21 16:36:47 +08:00
只能说你这个就不是 docker 最佳实践,没法给建议
应用直接前台跑,日志直接输出到 docker 的输出,然后采集 docker 的标准输出即可 |
3
opengo OP @Judoon 主要是想实现两个地方,一个是日志保存到文件,一个是 docker logs 能直接查看实时日志,我看看能不能使用别的办法分割日志吧,让监听的日志文件名不变
|
5
Judoon 2022-04-21 17:05:32 +08:00
@opengo docker 本身也是把日志保存到文件的 /var/lib/docker/containers/<container_hash>/下面
|
6
Aliencn 2022-04-21 19:18:17 +08:00
使用 tail -f 输出日志说明日志文件已经落盘了,那就直接把日志目录映射到宿主机上,在宿主机上想怎么看就怎么看
|
7
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. 从里面取出你想要的日志 |
8
ragnaroks 2022-04-21 19:46:01 +08:00
应当将日志输出到 stdout ,而且默认情况下也应该是这样
|