supervisor 来管理容器中的多个进程。使用 Supervisor 可以更好的控制、管理、重启我们希望运行的进程。Supervisor 是一个进程控制系统. 它是一个 C/S 系统, 它允许用户去监控和控制在类 UNIX 系统的进程

配置首先创建一个Dockerfile

 创建一个dockerfile的目录

Docker 使用Supervisor来进程管理_进程管理

生成密钥并创建authorized_keys文件。

 Docker 使用Supervisor来进程管理_进程管理_02

Docker 使用Supervisor来进程管理_Supervisor_03

Docker 使用Supervisor来进程管理_使用_04

supervisor配置

第一段 supervsord 配置软件本身,使用 nodaemon 参数来运行。nodaemon=true 如果是

truesupervisord 进程将在前台运行,默认为 false,也就是后台以守护进程运行。

Docker 使用Supervisor来进程管理_使用_05

/docker/apache 目录内容列表

Docker 使用Supervisor来进程管理_Supervisor_06

创建image

Docker 使用Supervisor来进程管理_使用_07

启动我们的supervisor容器

Docker 使用Supervisor来进程管理_使用_08

验证ssh  admin@ip -p 端口号 不用秘密

Docker 使用Supervisor来进程管理_进程管理_09

测试:访问容器提供的 web ssh 服务

2.Docker Compose 项目

compose 项目来源于之前的 Fig 项目,使用 python 代码编写。compose 项目主要用于编排部署基于 docker 的应用。

安装 Docker-compose

先安装 pip   #wget https://bootstrap.pypa.io/get-pip.py

Docker 使用Supervisor来进程管理_使用_10

Docker 使用Supervisor来进程管理_使用_11

再安装 compose

Docker 使用Supervisor来进程管理_使用_12

查看 docker-compose 的版本和 命令的用法。

Docker 使用Supervisor来进程管理_使用_13

Docker 使用Supervisor来进程管理_Supervisor_14

Docker 使用Supervisor来进程管理_使用_15

我们创建一个经典的 Web 项目:一个 Haproxy,挂载三个 Web 容器

docker-haproxy目录,作为项目工作目录,并在其中分别创建两个子目录: haproxy web

#mkdir -p /root/docker-haproxy/{haproxy,web}

/root/docker-haproxy/目录下创建 docker-compose.yml 文件

/root/docker-haproxy/haproxy 目录下创建 haproxy 的主配置文件 haproxy.cfg

/root/docker-haproxy/web 目录下存放 web 站点网页文件

Docker 使用Supervisor来进程管理_Supervisor_16

Docker 使用Supervisor来进程管理_Supervisor_17

docker-compose.yml 文件

Docker 使用Supervisor来进程管理_使用_18

haproxy 的主配置文件 haproxy.cfg

Docker 使用Supervisor来进程管理_进程管理_19cfg 

Docker 使用Supervisor来进程管理_Supervisor_20

Docker 使用Supervisor来进程管理_进程管理_21

web 站点网页

Docker 使用Supervisor来进程管理_使用_22

haproxy 目录:

在其中生成一个 haproxy.cfg 文件

Docker 使用Supervisor来进程管理_进程管理_23

Docker 使用Supervisor来进程管理_进程管理_24

docker-compose.yml

编写 docker-compose.yml 文件,这个是 Compose 使用的主模板文件。内容十分简单,指

3 web 容器,以及 1 haproxy 容器。

Docker 使用Supervisor来进程管理_进程管理_25

Docker 使用Supervisor来进程管理_Supervisor_26


Docker 使用Supervisor来进程管理_使用_27

Docker 使用Supervisor来进程管理_进程管理_28

运行 compose 项目:

docker-haproxy 目录下执行 docker-compose up -d 来启动你的应用

Docker 使用Supervisor来进程管理_进程管理_29

查看容器启动情况

Docker 使用Supervisor来进程管理_进程管理_30

打开浏览器本机本机 I

Docker 使用Supervisor来进程管理_Supervisor_31

Docker 使用Supervisor来进程管理_进程管理_32