[英]Specify log file for docker container
我有這組服務,希望對其進行記錄。 某些服務正在運行節點應用程序,因此輸出在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
時沒有輸出發送
將日志文件鏈接到stdout/stderr
。 例如在您的Dockerfile
:
RUN ln -sf /dev/stdout /<path>/logfile.log \
&& ln -sf /dev/stderr /<path>/errors-logfile.log
我找到了。 顯然您可以通過以下方式從Docker容器中寫入日志
RUN ln -sf /proc/1/fd/1 /opt/myserver/logs/server.log
在您的Dockerfile中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.