一、理解supervisor(supervisor服务不仅在容器中可用,在宿主机中也适用)

1、Dockerfile中的CMD可以指定启动容器后执行的第一个命令,但是当有多个服务进程需要启动的时候,就可以使用supervisor来管理容器中的服务。

2、supervisor的作用:可以管理多个服务,当服务挂掉的时候能自动帮你监控自动并重启这些服务(下例中supervisor服务管理了容器中的nginx和php两个服务)。

3、使用supervisor

(1)在容器中yum安装supervisor(需要epel源)

(2)supervisor的配置文件位置

    主配置文件:

    子配置文件:

(3)编辑supervisor的配置文件内容(子配置文件)

(4)启动supervisor服务

(5)查看状态

(6)supervisor的其他管理命令

(7)使supervisor的启动命令可以hang住

二、Dockerfile + supervisor原理

一般的Dockerfile文件中,用CMD定义一个命令,来让容器启动后执行第一个命令用来启动容器中的服务(例如nginx等),但是当容器需要启动多个服务(例如nginx和PHP两个服务)的时候,就不太好了,这个时候,可以在启动容器的时候直接执行supervisor服务的启动命令来开启动supervisor服务,然后让supervisor服务来帮我们启动其他的一系列服务即可。

三、Dockerfile + supervisor实践(下例中,用Dockerfile制作一个包含nginx和php服务的docker容器镜像,并且启动容器时可以自动启动nginx和php两个服务)

注意:此处需要确保supervisor服务的启动命令是一个可以夯住的命令,这样才能保证docker容器一直运行不会退出。

最新文章

  1. js数组去重几种思路
  2. SpringJDBC解析3-回调函数(update为例)
  3. spring框架面试相关问题
  4. 查询记录时rs.previous()的使用
  5. 利用map可以对很大的数出现的次数进行记数
  6. (转载)Windows 7 Ultimate(旗舰版)SP1 32/64位官方原版下载(2011年5月12日更新版)
  7. knockout --- foreach -- 前端必备
  8. 多线程、多任务管理 简单demo
  9. java 数字补齐0
  10. pushMeBaby,github链接
  11. Android系统各版本号及代号
  12. Codeforces Round #366 (Div. 2)_B. Spider Man
  13. SGU 194 Reactor Cooling ——网络流
  14. 【集美大学1411_助教博客】个人作业3——个人总结(Alpha阶段) 成绩
  15. EasyARM i.mx287学习笔记——通过modbus tcp控制GPIO
  16. TP5 路由使用
  17. JavaWeb 乱码问题终极解决方案!
  18. 软件测试人员需要掌握的linux命令(二)
  19. FormatMessage
  20. MFC工作者线程

热门文章

  1. 大数据学习(24)—— Spark入门
  2. 官宣|VS Code 1.59 发布!Terminal 可以跨窗口移动了!
  3. SpringBoot-表单验证-统一异常处理-自定义验证信息源
  4. template.js模板工具案例
  5. CTF_论剑场-web26
  6. 五、从GitHub浏览Prism示例代码的方式入门WPF下的Prism之MVVM中的EventAggregator
  7. 90%的开发者都不知道的UI本质原理和优化方式
  8. java基础技术集合面试【笔记】
  9. VLAN-5 利用三层交换机实现vlan间的路由
  10. STM32—SPI详解