繁体   English   中英

无花果船坞监控破碎的容器

[英]fig docker monitoring broken container

我有一个用于发射N码头工人容器(app,redis,mongo,postgre等等)的无花果配置

当我运行fig up一切都很好。

      Name      Command               State            Ports           
--------------------------------------------------------------------------
my_mongodb_1   /usr/local/bin/run       Up      28017/tcp, 27017/tcp     
my_redis_1     /usr/local/bin/run       Up      6379/tcp                 
my_pg_1        /usr/local/bin/run       Up      5432/tcp                 
my_app_1       ...                      Up      443->443/tcp, 80->80/tcp 

但是,由于一个不重要的原因,可以关闭其中一个容器。

      Name      Command               State            Ports           
--------------------------------------------------------------------------
my_mongodb_1   /usr/local/bin/run       Up      28017/tcp, 27017/tcp     
my_redis_1     /usr/local/bin/run       Exit    6379/tcp                 
my_pg_1        /usr/local/bin/run       Up      5432/tcp                 
my_app_1       ...                      Up      443->443/tcp, 80->80/tcp 

可以配置监控以监控所有容器并启动已关闭的容器

您必须在不同的文件中配置每个程序(容器),并且它们必须/etc/supervisor/conf.d/文件夹中,主管应该在该文件夹中查找程序。 在你的情况下,我建议:

#It is the /redis.conf
[program:redis]
command= /bin/bash -c "fig up redis"
        "fig logs redis"
directory=/path/of/fig_file
autostart=true
autorestart=true
stdout_logfile=/path/to/log/redis.log
redirect_stderr=true

对于pg:

#It is the /pg.conf
[program:pg]
command= /bin/bash -c "fig up pg"
        "fig logs pg"
directory=/path/of/fig_file
autostart=true
autorestart=true
stdout_logfile=/path/to/log/pg.log
redirect_stderr=true

和其他程序(mongo和app)的配置相同(mongo.conf和app.conf)。

启动计算机或重新启动计算机时,每个程序都必须启动。

上面的例子你运行容器,你可以保持它活着,因为你休息它的日志。

您可以使用以下方法检查每个程序的状态:

sudo supervisorctl 

并看到:

app                          RUNNING    pid 17036, uptime 0:22:28
mongodb                      RUNNING    pid 17018, uptime 0:22:29
pg                           RUNNING    pid 17030, uptime 0:22:28
redis                        RUNNING    pid 17019, uptime 0:22:29

祝好运!!

我会使用Upstart,我有很好的经验。 当进程没有守护进程时,Supervisord是最好的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM