2017-09-19 153 views
0

我們有許多基於nodej的微服務,並且它們都作爲docker容器運行。將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} 

我正在尋找一種方式編寫的碼頭工人節點生成的日誌的內容基於命令服務到Linux VM機器上的外部文件。如果有人可以提供幫助的示例命令。

+0

可能對文檔的[登錄驅動器(https://docs.docker.com/engine/admin/logging/overview/)會的興趣。 – larsks

回答

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 
+0

我也在尋找相同問題陳述的解決方案。你提到創建'log.txt'的命令,但它只包含Docker容器Id.How可以有容器的完整日誌嗎? –

+0

這不適合我ducfilan – Santosh