日志文件在docker容器中存放在哪里以及如何复制?

时间:2020-02-26 06:53:23

标签: docker

我有一个像这样的dockerfile。

当docker组成服务时,我可以使用命令查看日志。

docker test -f logs

我想将日志文件复制到我的本地计算机上。

路径在哪里?

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"]

1 个答案:

答案 0 :(得分:2)

  • 可以在以下位置找到日志文件 /var/lib/docker/containers/<container id>/<container id>-xxx.log xxx根据您的配置方式代表不同的格式。
  • 您可以泊坞检查每个容器以查看其日志在哪里: docker inspect --format='{{.LogPath}}' $INSTANCE_ID

有关配置日志记录的更多详细信息,请参见here

编辑:

  • 类似的问题here
  • 我也在显示它的时候在我的上面尝试过。

    $ docker inspect --format ='{{。LogPath}}''878eb2faac5c / var / lib / docker / containers / 878eb2faac5c9fe743fd9e9e6ba6ff7e0c3f1e02964df77e5a788dcd985c0d0b / 878eb2faac5c9fe743fd9e9e6ba6ff7e0c3f1e02964df77e5a788dcd> li

注意:在Mac机器上,此位置将在托管docker容器的VM上,而不在MacOS主机上。尝试screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty访问该位置。