docker 环境下 supervisor中出现的一些问题

1.运行supervisorctl时报错supervisor.sock refused connection

网上普遍说是superviored挂掉了,但是ps -A 查看进程时并没有问题 

我怀疑可能是在docker环境下使用unix配置supervior服务端时会启动失败

开始的安装配置方法:https://www.jianshu.com/p/39b476e808d8

出现问题1.我的解决方法:

修改supervisor.conf

[unix_http_server]
file=/tmp/supervisor.sock   ; the path to the socket file
chmod=0700                 ; socket file mode (default 0700)
;chown=nobody:nogroup       ; socket file uid:gid owner
;username=user              ; default is no username (open server)
;password=123               ; default is no password (open server)

[inet_http_server]         ; inet (TCP) server disabled by default
port=127.0.0.1:9001        ; ip_address:port specifier, *:port for all iface
;username=user              ; default is no username (open server)
;password=123               ; default is no password (open server)


[supervisorctl]
;serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket
serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
;username=chris              ; should be same as in [*_http_server] if set
;password=123                ; should be same as in [*_http_server] if set
;prompt=mysupervisor         ; cmd line prompt (default "supervisor")
;history_file=~/.sc_history  ; use readline history if available


[include]
files = conf.d/*.conf

 

修改这四个位置的配置参数

2.报错 unlink: cannot unlink `/tmp/supervisor.sock’: No such file or directory

解决方法

unlink /tmp/supervisor.sock

一般是由于直接kill掉supervisord进程引起,

正确方法关闭 supervisorctl shutdown 

3.关于docker run -d imageid supervisord 运行直接退出的问题

因为运行完supervisord指令,没有继续运行的脚本,docker默认结束运行就退出来了

可以加个死循环保证docker时刻运行

 /bin/sh -c "/opt/start.sh && while true; do echo hello world; sleep 1; done"

start.sh

unlink /tmp/supervisor.sock
service supervisor restart


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章