如何在docker容器上集中日志文件?
此日志文件不在/ var / lib / docker / container / * /
中此日志文件类似于catalina.out或容器中的其他日志文件。 (这个文件可以是stdout / err或不是。)
许多解决方案几乎都是关于stdout / err(/ var / lib / docker / container / *)。
但我想将容器中的日志文件集中起来使用ELK或Fluentd。
请帮帮我。
答案 0 :(得分:1)
您可以在pod中使用转发器容器并共享日志目录的卷,如下所示:
kind: ReplicationController
apiVersion: v1
metadata:
name: tomcat
labels:
app: tomcat
spec:
replicas: 1
template:
metadata:
labels:
app: tomcat
spec:
containers:
- name: tomcat
image: tomcat
volumeMounts:
- name: tomcat-logs
mountPath: /tomcat/log
readOnly: false
- name: logstash-forwarder
image: apopelo/logstash-forwarder
volumeMounts:
- name: tomcat-logs
mountPath: /var/log/tomcat
readOnly: true
volumes:
- name: tomcat-logs
emptyDir: {}
tomcat
容器运行应用程序,而logstash-forwarder
转发tomcat日志。