访问正在运行的docker容器的logs文件夹

时间:2016-05-28 01:14:45

标签: docker

假设我的应用程序在文件夹/ app / logs /中生成日志。为方便起见,会生成多个日志文件(基于不同的运行时上下文),以便更好地进行监视。如果我使用Docker容纳我的应用程序,如何在日志文件夹中访问运行时生成的日志?

我的应用程序没有nohup类型的日志记录,当然

docker logs -f <container-id>

似乎不起作用。

1 个答案:

答案 0 :(得分:2)

docker logs只会显示您正在运行的进程中的stderr和stdout。

容器与集中式日志系统配合使用,因为它符合其短暂/可扩展的设计。使用sysloglogglygrayloglogstashfluentd等来push your docker logs over the network to a server。在一个位置访问所有应用和上下文日志。

如果那似乎太多了......

您可以直接从主机

访问日志
docker exec <container-id> cat /apps/logs/context.log

您可以登录共享数据卷

docker volume create logs
docker run -v logs:/apps/logs <image>

您可以登录主机目录

docker run -v /apps/logs:/apps/logs <image>