从Docker容器中访问日志记录

6
我有一个在Docker容器中运行的Python服务器。我使用Python的日志记录(loggin)功能来记录我的消息,但我不知道如何从容器中查找/查看我的日志文件。
# 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

如何访问服务器日志?

谢谢

5个回答

4

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


4

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

docker logs my-container-instance

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

docker inspect my-cintainer-instance

在json输出中查找LogPath键。


3

我认为你可以在 "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 logs your-container-id。


1

只需使用此命令:

docker logs CONTAINER ID 

获取正在运行的容器和容器ID,请使用以下命令:

(例如:docker logs c587105f2a4f)

docker ps 

0

除了已经给出的答案,如果你想将日志重定向到文件中,可以使用以下命令:

docker logs 容器名称 >& 日志文件名


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接