Tycho Blog
专注于信息、技术分享

Docker 容器中Supervisor守护进程配置管理并在前台输出日志 (前台输出日志特别适用于宿主日志收集)

       在k8s生产环境使用中,避免不了要对所有容器的日志进行收集,最简单高效的方法就是在宿主上收集所有Docker容器中应用日志,通常需要在制作镜像时将应用日志输出到前台即可,Docker推荐一个容器跑一个程序,如果多个程序就需要用其他手段去启动多余的程序,这里简单介绍下supervisor,supervisor是可以在Docker中管理多个程序,被supervisor接管后,之前的将应用日志软链接到/dev/stdout就变成无效,需要重新到supervisor重新进行配置,才能将日志输出到前台

环境:

Centos 7.4 64bit 镜像
supervisor 3.1.4
nginx 1.14.0
php 5.6.36

安装supervisor,Docker镜像中安装需要用dockerfile对原镜像做升级,或者启动一个镜像容器然后进入该容器安装后再对该容器重新生成镜像,进去该容器后的安装可以看成宿主一样的方式

yum install supervisor

配置supervisor,打开supervisor配置文件

vi /etc/supervisord.conf

[program:ssh]
command = /usr/sbin/sshd -D
;autorestart=true
autostart=true

[program:nginx]
command = /usr/sbin/nginx -g 'daemon off;'
autostart=true
autorestart=true
;stopsignal=QUIT

priority=10
stdout_events_enabled=true
stderr_events_enabled=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

[program:php]
command = /usr/sbin/php-fpm --nodaemonize
autostart=true
autorestart=true

保存退出

现在看Kubernetes UI,看看相关的pod对应的容器日志有没有输出

赞(0) 打赏
未经允许不得转载:fleyun » Docker 容器中Supervisor守护进程配置管理并在前台输出日志
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏