将docker日志写入外部日志文件

时间:2017-09-19 23:29:51

标签: node.js docker dockerfile

我们有许多基于nodejs的微服务,并且它们都作为docker容器运行。

以下是dockerfile的内容:

FROM keymetrics/pm2-docker-alpine:latest

ARG ENVIRONMENT
ARG PORT

ENV PORT $PORT
ENV ENVIRONMENT $ENVIRONMENT

RUN apt-get update -qq


RUN apt-get install --yes curl
RUN curl --silent --location https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get install --yes nodejs
RUN apt-get install --yes build-essential vim


RUN mkdir /database_service
ADD . /database_service
WORKDIR /database_service

RUN npm install -g path
RUN npm cache clean

EXPOSE $PORT

CMD [ "npm", "start", $PORT, $ENVIRONMENT ]

以下是用于运行容器的命令

sudo docker run -p ${EXTERNAL_PORT_NUMBER}:${INTERNAL_PORT_NUMBER} --network 
${NETWORK} --name ${SERVICE_NAME} --restart always -m 2048M --memory-swap -1 
-itd ${ORGANISATION}/${SERVICE_NAME}:${VERSION}

我正在寻找一种方法,将基于docker node的服务生成的日志内容写入Linux VM机器上的外部文件。如果有人可以帮助您提供有用的示例命令。

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

sudo docker run -p ${EXTERNAL_PORT_NUMBER}:${INTERNAL_PORT_NUMBER} --network 
${NETWORK} --name ${SERVICE_NAME} --restart always -m 2048M --memory-swap -1 
-itd ${ORGANISATION}/${SERVICE_NAME}:${VERSION} > /path/to/your/log.txt