我有一个小node
脚本,其中我使用bunyan
来处理应用程序日志记录。记录器写入本地存储。我想使用elasticsearch
将日志发送到filebeat
(这两个对我来说都是新技术)。
我已经制作了一个dockerfile
容纳应用程序(如下),但我不确定如何/在何处插入必要的说明。有没有办法将我的日志从elasticsearch
内发送到docker
?虽然我在这里,但也发送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
访问操作系统的服务中。
[ETA:很多答案已经涵盖了如何从容器的外部获取docker
日志 - 例如,在单独的容器中运行filebeat
。我希望在同一个容器中运行,但是