当前位置: 首页 > 知识库问答 >
问题:

使用docker在supervisord中记录到stdout

冀永寿
2023-03-14

我怎么做?从主管手册上看不清楚。

我还会考虑一个不同的工具,而不是Supervisor。它的缺点之一是它是用python编写的,这确实会使docker容器变得臃肿。如果你有一个解决方案,那么有没有一个更优化的工具可以更好地使用Docker?

共有1个答案

拓拔耀
2023-03-14

我找到了一个使用runit的解决方案。

runit的设置只是稍微复杂一点,但并不是很复杂,日志记录可以开箱即用。

基本上,您只需使用apt-get install runit安装runit。然后创建并复制一个运行文件到/etc/service/{servicename}/run。运行文件只是一个bash脚本,它是您的服务的名称。它的stdout是自动捕获的。

ln -sf /dev/stdout /var/log/nginx/access.log
ln -sf /dev/stderr /var/log/nginx/error.log
 类似资料:
  • 我试图熟悉docker生态系统,并尝试设置mysql数据库容器。使用这看起来像: 我的conf目录包含一个文件: 不幸的是,我没有这样得到任何日志文件。设置本身是正确的,并且使用了cnf文件。连接到容器并创建3个文件后,将它们添加到并重新启动容器,日志记录按预期工作。 我很确定这是一个常见的场景,我目前让它运行的方法看起来真的很愚蠢。正确的做法是什么? 我可以通过在Dockerfile中移动所有这

  • 问题内容: 我正在为Symfony应用程序构建docker映像。在此图像中,我想将Symfony日志流式传输到stdout。因此,类似于nginx日志的配置方式,我在Dockerfile中添加了以下内容: 在容器内,我可以看到以下内容: 但是,该应用程序引发以下错误: PHP致命错误:无法打开消息“流或文件“ /var/www/project/app/logs/prod.log”的未捕获异常’Un

  • 问题内容: 我有一组分散在多个服务器上的dockerized应用程序,并尝试使用ELK设置生产级别的集中式日志记录。我对ELK部件本身还可以,但是我对如何将日志转发到我的日志感到有些困惑。我正在尝试使用Filebeat,因为它具有负载平衡功能。我还想避免将Filebeat(或其他任何东西)打包到我的所有docker中,并使其分开,是否被dockerized。 我该如何进行? 我一直在尝试以下方法。

  • # 查看已下载的Docker镜像latest具体版本 # docker image inspect redis:latest|grep -i version docker image inspect 镜像名:latest|grep -i version # 容器日志过大处理 # Docker 的日志文件存在 /var/lib/docker/containers 目录中,通过下面的命令可以将日志文

  • Supervisord是用Python实现的一款非常实用的进程管理工具。supervisord会帮你把管理的应用程序转成daemon程序,而且可以方便的通过命令开启、关闭、重启等操作,而且它管理的进程一旦崩溃会自动重启,这样就可以保证程序执行中断后的情况下有自我修复的功能。

  • 我在这里学习手册:https://www.jooq.org/doc/latest/manual/sql-execution/fetching/pojos/#NA6504 我试图从pojo创建一个记录,我没有可用的方法,或。 我的代码如下所示: 由joooq: 应该可以正常工作。 我肯定我错过了一些明显的东西,但我不确定从哪里开始寻找。