如何使用主管自动重新加载(启动)Docker容器

时间:2019-02-19 16:23:25

标签: mongodb docker supervisord supervisor

我遇到了一个问题,即我无法通过主管完美启动我的容器。 我有一个mongodb容器,我想在主管下运行。 主管配置本身:

; supervisor config file

[unix_http_server]
file=/var/run/supervisor.sock   ; (the path to the socket file)
chmod=0700                       ; sockef file mode (default 0700)

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor            ; ('AUTO' child log dir, default $TEMP)

; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL  for a unix socket

; The [include] section can just contain the "files" setting.  This
; setting can list multiple files (separated by whitespace or
; newlines).  It can also contain wildcards.  The filenames are
; interpreted as relative to this file.  Included files *cannot*
; include files themselves.

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

和mongodb容器conf文件:

[program:mongo]
command=/usr/bin/docker start b1b -DFOREGROUND
autostart=true
autorestart=true
startretries=10
exitcodes=0
startsecs=0

当我执行“ supervisorctl restart mongo”时,它将启动容器,但是在我停止它之后,它将不会自动重新启动它。 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

Docker已经具有重启已停止/失败的容器的功能,您不需要管理员。

docker run --restart=always nginx