3 votes

Où se trouve le fichier de logs dans le conteneur docker et comment le copier ?

J'ai un fichier docker comme celui-ci.

Quand je compose le service avec docker, je peux utiliser la commande pour voir les logs.

docker test -f logs

Je veux copier le fichier de logs sur ma machine locale.

où se trouve le chemin ?

fichier docker

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-alpine AS build-env
WORKDIR /app

# Copy everything else and build
COPY ./ /app/
RUN dotnet restore -r linux-musl-x64 -s http://nexus.thedevcloud.net/repository/nuget-group/
RUN dotnet publish -r linux-musl-x64 -c Release -o DrugSync/out --no-restore

# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-alpine

RUN apk add --no-cache icu-libs
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false 
ENV LC_ALL=en_US.UTF-8 
ENV LANG=en_US.UTF-8 

WORKDIR /app
COPY --from=build-env /app/test/out/ /app/
ENTRYPOINT ["/app/test"]

2voto

John Points 2717
  • Les fichiers journaux sont disponibles à l'adresse suivante /var/lib/docker/containers/<container id>/<container id>-xxx.log xxx correspond à différents formats en fonction de la façon dont vous l'avez configuré.
  • Vous pouvez inspecter chaque conteneur pour voir où se trouvent leurs logs : docker inspect --format='{{.LogPath}}' $INSTANCE_ID

Pour plus de détails sur la configuration de la journalisation, voir aquí

EDITAR:

  • Question similaire aquí
  • J'ai également essayé sur le mien et il apparaît.

    $ docker inspect --format='{{.LogPath}}' 878eb2faac5c /var/lib/docker/containers/878eb2faac5c9fe743fd9e9e6ba6ff7e0c3f1e02964df77e5a788dcd985c0d0b/878eb2faac5c9fe743fd9e9e6ba6ff7e0c3f1e02964df77e5a788dcd985c0d0b-json.log

Remarque : sur les machines Mac, cet emplacement se trouve sur la VM hébergeant les conteneurs Docker et non sur l'hôte MacOS. Essayez screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty pour accéder à l'emplacement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X