gpt4 book ai didi

使用 docker 登录到 supervisord 中的 stdout

转载 作者:行者123 更新时间:2023-12-01 23:43:53 24 4
gpt4 key购买 nike

我有几个需要运行 supervisord 的 docker 容器。

但是,我还没有设法让主管捕获日志并将它们输出到标准输出。似乎主管没有捕获他们的输出并以与 docker 配合良好的方式将其吐出。我希望它以进程名称或其他名称为前缀。

我该怎么做?从主管手册中不清楚。

除了主管之外,我还会考虑使用不同的工具。它的缺点之一是它是用 python 编写的,这确实使 docker 容器变得臃肿。除了您的解决方案之外,是否有更适合 docker 的最佳工具?

最佳答案

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

runit 的设置稍微复杂一些,但并不显着,并且日志记录开箱即用。

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

我遇到的问题是将 nginx 日志记录到 stdout 和 stderr。
我遵循了一个将内容写入 nginx.conf 的方法。它没有用。有效的方法很简单:

ln -sf /dev/stdout /var/log/nginx/access.log
ln -sf /dev/stderr /var/log/nginx/error.log

关于使用 docker 登录到 supervisord 中的 stdout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30065082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com