擅长:python、mysql、java
<p>Docker容器就像一个面巾纸,你用了它就掉了。为了“活着”,Docker需要一些在前台运行的东西(而守护进程在后台运行),这就是为什么您要使用Supervisord。</p>
<p>因此,您需要“重定向/添加/合并”进程输出(访问和错误)以监视运行容器时看到的输出。</p>
<p>正如德鲁所说,每个人都在使用<a href="https://github.com/coderanger/supervisor-stdout">https://github.com/coderanger/supervisor-stdout</a>来实现它(对我来说,这应该添加到supervisord project中!)。德鲁忘了说的话,你可能需要加上</p>
<pre><code>stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
</code></pre>
<p>到监控程序配置块。</p>
<p>还有一些非常有用的东西,假设您的进程正在登录到日志文件而不是stdout,您可以让supervisord监视它:</p>
<pre><code>[program:php-fpm-log]
command=tail -f /var/log/php5-fpm.log
stdout_events_enabled=true
stderr_events_enabled=true
</code></pre>
<p>这将把php5-fpm.log内容重定向到stdout,然后通过supervisordstdout重定向到supervisordstdout。</p>