如何从Dockerized Node应用程序内向Elasticsearch发送应用程序日志?

我有一个小的node脚本,其中我使用bunyan来处理应用程序日志logging。 logging器写入本地存储。 我想发送日志到filebeat使用filebeat (这两个都是我的新技术)。

我已经做了一个dockerfile (集装箱应用程序)(下面),但我不确定如何/在哪里插入必要的说明。 有没有办法将我的日志从elasticsearch内部发送到elasticsearch ? 而当我在它的时候,也发送任何日志docker container &os发出?

 # dockerfile. # installations and entrypoint are to run nightmarejs headless FROM node:latest RUN apt-get update &&\ apt-get install -y libgtk2.0-0 libgconf-2-4 \ libasound2 libxtst6 libxss1 libnss3 xvfb WORKDIR /app COPY ./dist . # enable installation of private npm modules ARG NPM_TOKEN COPY .npmrc .npmrc COPY package.json . RUN npm i RUN rm -f .npmrc COPY entrypoint / RUN chmod +x /entrypoint ENTRYPOINT ["/entrypoint"] CMD DEBUG=nightmare node ./app.js 

为了完整起见, entrypoint.js

 #!/usr/bin/env bash set -e # Start Xvfb Xvfb -ac -screen scrn 1280x2000x24 :9.0 & export DISPLAY=:9.0 exec "$@" 

如果它很重要,我会将容器部署到一个服务,我不会有ssh访问os。

[ETA:很多的答案已经涵盖了如何从容器抓取docker日志 – 例如,在单独的容器中运行filebeat 。 我希望在同一个容器内运行它,但是]