使用docker在supervisord中loggingstdout
我有几个需要运行supervisord的docker集装箱。
但是,我没有设法让主pipe捕获日志并将其输出到标准输出。 看起来,主pipe没有捕获他们的输出,并以与docker工作良好的方式吐出。 我很喜欢它前面的进程名称或东西。
我该怎么做? 从主pipe手册中不清楚。
除了主pipe,我还会考虑一个不同的工具。 它的缺点之一是它是用python编写的,它真的使Docker容器膨胀起来。 除了你的解决scheme,如果你有一个,是否有更好的工具与docker工作更好?
我find了一个使用runit的解决scheme。
runit的设置只是稍微复杂一点,但不是很明显,而且日志function是开箱即用的。
基本上你只需要安装runit apt-get install runit
。 然后创build一个运行文件复制到/ etc / service / {servicename} / run运行文件只是一个bash脚本,exec是你服务的名字。 它的stdout被自动捕获。
我遇到的麻烦是使nginx日志stdout和stderr。 我遵循了一个把事情写到nginx.conf的配方。 它没有工作。 有效的只是:
ln -sf /dev/stdout /var/log/nginx/access.log ln -sf /dev/stderr /var/log/nginx/error.log
- 哪里可以看到谷歌App Engine上pipe理Vms上的失败部署日志?
- 在Apalis imx6上安装docker?
- Docker:推迟依赖另一个容器的启动操作?
- 如何从“Docker quickstartterminal”启动docker时添加`–registry-mirror`?
- 在Docker镜像中部署WAR文件的正确方法
- Docker化Flask API上的部分响应错误(长响应)
- docker-compose in windows:Unsupported config option for services:'web'
- GAE托pipe虚拟机 – 如果您的项目名称太长,则无法部署
- 运行Bottle(后端)+ Google App Engine上的Nodejs(前端)