繁体   English   中英

从 docker 容器访问日志

[英]Access logs from docker container

我有一个在 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

如何访问服务器日志?

谢谢

docker 日志 --tail 200 -f docker-container-id

我认为您可以在“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 记录您的容器 ID。

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

docker logs my-container-instance

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

docker inspect my-cintainer-instance

并在 json 输出中找到LogPath键。

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

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

只需使用此命令:

docker logs CONTAINER ID 

(例如:docker 日志 c587105f2a4f)

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

docker ps 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM