我有这组服务,我希望为其做一些记录。某些服务正在运行节点应用程序,因此在docker logs
命令中直接可见输出。
但是,有一些不同。让我们以我的Java应用程序为例。它在包装器中运行,但是日志记录而不是STDOUT
写入日志文件。
如何将文件作为docker logs
输出挂钩?
ps。另一个应用程序是Nginx服务器上的PHP应用程序,也带有它自己的日志文件。
-UPDATE
该应用程序是在Tanuki的Java Service Wrapper中运行的Java应用程序(.jar文件)。内置的JAR具有Log4j记录器,它通过DailyRollingFileAppender
写入logs/server.log
。包装器本身具有我通过>/dev/null 2>&1
忽略的输出。我只是将以下行添加到了Dockerfile中。
RUN ln -sf /dev/stdout /opt/myserver/logs/server.log
这不起作用。当我使用docker-compose up myserver
答案 0 :(得分:0)
将日志文件链接到^(((?<h>[0-9]+)h)|((?<m>[0-9]+)m))+$
。例如,在您的stdout/stderr
中:
Dockerfile
答案 1 :(得分:0)
我找到了。显然,您可以通过
从Docker容器中写入日志 RUN ln -sf /proc/1/fd/1 /opt/myserver/logs/server.log
在您的Dockerfile中