我有一些需要运行主管的docker容器.
但是,我还没有设法让主管捕获日志并将其输出到stdout.主管似乎没有捕获其输出并以与Docker很好地配合的方式将其吐出.我希望它以流程名称或其他名称开头.
我该怎么做?从主管手册中还不清楚.
除了主管,我还会考虑其他工具.它的缺点之一是它是用python编写的,确实使docker容器containers肿了.除了您的解决方案(如果有的话)之外,还有没有更好的工具可以更好地与Docker配合使用?
最佳答案
我找到了使用runit的解决方案.
原文链接:https://www.f2er.com/docker/532565.htmlrunit的设置只是稍微复杂一点,而实际上并没有那么复杂,并且日志功能开箱即用.
基本上,您只需使用apt-get install runit安装runit.
然后创建将运行文件复制到/ etc / service / {servicename} / run
运行文件只是一个bash脚本,它是服务名称.
它的标准输出会自动捕获.
我遇到的麻烦是使Nginx日志输出到stdout和stderr.
我遵循了将事情写到Nginx.conf的食谱.没用起作用的只是:
ln -sf /dev/stdout /var/log/Nginx/access.log
ln -sf /dev/stderr /var/log/Nginx/error.log