2017-09-19 1 views
0

Nous avons un certain nombre de microservices basés sur nodejs et tous fonctionnent en tant que conteneurs docker.Ecriture des journaux du docker dans le fichier journal externe

est Ci-dessous le contenu de 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 ] 

est inférieure à la commande utilisée pour exécuter le conteneur

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} 

Je cherche une façon d'écrire le contenu des journaux générés par le noeud docker base service au fichier externe sur la machine Linux VM. Si quelqu'un peut vous aider avec un exemple de commande qui vous aidera.

+0

Peut-être la documentation (https://docs.docker.com/engine/admin/logging/overview/) [pilotes connecter] serait d'intérêt. – larsks

Répondre

0

Vous pouvez faire quelque chose comme:

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

Je cherche aussi la solution pour le même énoncé de problème. La commande que vous mentionnez en créant le 'log.txt' mais elle contient uniquement l'ID du conteneur Docker. Comment puis-je avoir le journal complet du conteneur? –

+0

Cela ne m'a pas fonctionné ducfilan – Santosh