我无法通过卷连接我的应用程序和 promtail 的容器,以便 promtail 可以读取它。
我有一个应用程序将日志文件(通过 java 中的 log4j2)创建到扩展名为 appXX.log 的文件夹中,当我共享卷时,我的应用程序无法写入此文件。
这是我的 docker-compose(我跳过了 loki/grafana 容器)。
我的应用程序在没有共享卷的情况下在该路径中写得很好,所以它一定是 docker 管理卷的方式。任何想法可能会发生什么?
promtail:
image: grafana/promtail:2.4.1
volumes:
- "app-volume:/var/log/"
- "path/config.yml:/etc/promtail/config.yml"
command: -config.file=/etc/promtail/config.yml
app:
image: app/:latest
volumes:
- "app-volume:/opt/app/logs/"
command: ["/bin/sh","-c","java $${JAVA_ARGS} -jar app-*.jar"]
volumes:
app-volume:
另一方面,我不知道将应用程序记录到promtail是否是正确的方法,我看到通常直接读取容器的日志(这对我不起作用,因为它只适用于docker-linux ) 而且我可以想到这些其他可能性 如果按数量计算不可能,那么正确的可能性是什么?
欢迎任何想法,谢谢!