【发布时间】:2016-08-29 00:14:09
【问题描述】:
我有一个 docker 容器,它使用 monit 启动一些服务,例如 mongodb、nginx。我有一个 bash 脚本,docker 使用它来启动监控。以下是文件内容:
#!/bin/bash
# Monit will start all apps
/usr/bin/monit -c /etc/monitrc &
# Stay up for container to stay alive
while [ 1 ] ; do
if !(pgrep monit)
then /usr/bin/monit -c /etc/monitrc &
fi
sleep 5m
done
问题是当我运行docker create 命令来创建容器时,bash 脚本运行正常并且monit 启动了所有服务,但是如果我停止容器并重新启动它,有时monit 不会出现或者如果它出现,它不会启动服务。任何人都可以验证我的 bash 脚本是否正常。我使用了以下参考https://blog.deimos.fr/2016/01/13/docker-why-you-should-use-monit-instead-of-supervisord/
【问题讨论】: