2016-02-15 77 views
0

如何在Docker容器上集中日誌文件?如何集中日誌文件在碼頭集裝箱上?

此日誌文件不是在/ var/lib中/泊塢窗/集裝箱/ */

此日誌文件是這樣catalina.out中或在容器另一個日誌文件。 (這個文件可以是stdout/err或不)。

許多解決方案几乎都是關於stdout/err(/ var/lib/docker/container/*)。

但我想集中在容器中的日誌文件來使用ELK或Fluentd。

請幫助我。

回答

1

你可以使用轉發您的容器內吊艙和共享日誌目錄的卷,如下所示:

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的日誌。