泊坞窗-主管:是否可以将子流程标准输出重定向回主管?

我正在使用超级用户作为Docker容器的入口点,如https://docs.docker.com/articles/using_supervisord/中所述,
我希望所有日志都写入stdout,以便可以利用docker日志或systemd日志等内置工具,尤其是在CoreOS上运行容器时.

对于stderr,子进程有redirect_stderr = true选项,
是否有可能以某种方式将子进程stdout重定向回supervisor,而不处理实际的日志文件?

最佳答案
您可以使用以下配置选项将程序的标准输出重定向到主管的标准输出:

stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0

说明:

>当进程打开/ dev / fd / 1(与/ proc / self / fd / 1相同)时,系统实际上会克隆该进程的文件描述符#1(stdout).因此,将其用作stdout_logfile会使超级用户将程序的stdout重定向到其自己的stdout.
> stdout_logfile_maxbytes = 0禁用日志文件轮换,这显然对stdout没有意义.不指定此选项将导致错误,因为默认值为50MB,并且超级用户不够智能,无法检测到指定的日志文件不是常规文件.

欲获得更多信息:

http://veithen.github.io/2015/01/08/supervisord-redirecting-stdout.html

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...