一般情况下,使用docker容器启动的任务中程序的logger机制都支持 console 输出,直接输出到docker的console中或者使用宿主机的目录挂载重定向到特定文件中,使用ELK搜集日志。 但是对于部分开源的服务,例如nginx,日志的输出目录是在 nginx.conf 中指定:
user nginx; worker_processes 4; error_log /var/log/nginx/error.log; http { access_log /var/log/nginx/access.log main; ......
可以通过以下两种方式完成输出到console的输出:
ln -sf /dev/stdout /var/log/nginx/access.log ln -sf /dev/stderr /var/log/nginx/error.log
或者:
user nginx; worker_processes 4; error_log /dev/stderr; http { access_log /dev/stdout main; ...