A imagem oficial do docker nginx (Dockerfile) usa o seguinte truque para entregar seus logs para stdout e stderr para que eles sejam capturados pelo coletor de log do docker e visíveis usando docker logs <container-name>
:
# forward request and error logs to docker log collectorRUN ln -sf /dev/stdout /var/log/nginx/access.logRUN ln -sf /dev/stderr /var/log/nginx/error.log
Eu quero fazer o mesmo, no entanto eu tenho supervisord como PID 1 no meu contêiner e supervisiona o processo nginx e captura stdout e stderr e o coloca em seu próprio arquivo de log. Portanto, os logs não chegam ao coletor de log do docker.
Aqui está o bloco relevante no meu supervisord.conf
[program:nginx]command=/usr/sbin/nginx -g "daemon off;"priority=990; NOTE: We do not want to redirect stdout and stderr of a nginx process to a logfile because we want docker log collector to get them.stdout_logfile= NOT SURE WHAT TO PUT HERE?stderr_logfile= NOT SURE WHAT TO PUT HERE?username=www-dataautorestart=true
Os documentos do supervisord são ótimos (http://supervisord.org/configuration.html) mas para stdout_logfile
eles não me dão a resposta que eu preciso-ou seja, Como faço para configurar o supervisord para não interceptar um stdout / stderr de processos ( ou para capturar em um arquivo de log, mas também encaminhar para stdout / stderr normal).
O que eu já tentei:
-
stdout_logfile=NONE
- Não obtenha logs nem stdout ou para um arquivo -
stdout_logfile=/var/log/supervisor/%(program_name)s.log
- Obter logs para um arquivo, mas não stdout. - Não definir
stdout_logfile
- Obter logs para um arquivo nomeado aleatoriamente, mas não stdout. -
stdout_logfile=/dev/stdout
- Supervisord dá um erro:>A maioria dos usuários do Windows não tem acesso a um sistema de gerenciamento de arquivos, mas a maioria dos usuários do Windows não tem acesso a um sistema de gerenciamento de arquivos.por exemplo, se você está procurando por um aplicativo, você pode ter certeza de que este aplicativo é compatível com todos os seus dispositivos.loggers.py/info/273] [/usr/lib/python2.7 / seguidores-pacotes/ supervisor / - loggers.py/log/291] [/usr/lib/python2.7 / seguidores-pacotes/ supervisor / - loggers.py/bought/186] [/usr/lib/python2.7 / seguidores-pacotes/ supervisor / - loggers.py/doRollover/195])