从docker容器访问日志

问题描述 投票:2回答:4

我有一个我在docker容器中运行的python服务器。我通过python登录来记录我的消息,我不知道如何从容器中查找/查看我的日志文件。

# Pull base image
FROM python:3

# Copy code to the container
ADD src /usr/app
WORKDIR /usr/app

# run configuration
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

# Start script
CMD [ "python", "./main.py"]

我像这样启动服务器:

sudo docker run -it -p 5000:5000 --rm my_app

如何访问服务器日志?

谢谢

python docker logging dockerfile
4个回答
2
投票

我认为您可以在“docker run”中使用-v参数将主机文件夹挂载到容器中的文件夹。

    sudo docker run -it -p 5000:5000 -v hostPath:containerPathContainingLogs --rm my_app

然后,您将在hostPath中查看您的日志(它将映射到容器中的containerPathContainingLogs)。

或者换句话说,如果您的docker镜像包含bash,您可以使用docker ps -a来查找您运行的容器ID,并使用“docker exec -it your-container-id bash”登录您的容器,cd到您的日志路径并查看您的日志。

或者您可以尝试使用docker log your-container-id。


1
投票

您可以随时通过以下方式检查服务的直接docker输出:

docker logs my-container-instance

要检查日志路径文件,您可以使用:

docker inspect my-cintainer-instance

并找到json输出上的LogPath键。


0
投票

docker logs --tail 200 -f docker-container-id


0
投票

除了要将日志重定向到文件时给出的答案,请使用此方法

docker logs containername>&logfile

© www.soinside.com 2019 - 2024. All rights reserved.