我使用 docker 部署了一个服务,并且使用 tail -f 输出日志,便于 docker logs 的时候查看
但是日志文件每天零点会切割,生成一个新的,已日期命名的日志文件,如何自动输出这个新的日志文件内容呢(因为新的日志会写到这个新的日志文件中)?
- 需要保存日志文件
- 服务在 docker 里是非前台的
xdm 想想办法,有啥好的建议吗

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