博主QQ:819594300

博客地址:http://zpf666.blog.51cto.com/

有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!

一、使用 Supervisor 来管理进程

Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务。但我们经常需要在一个机器上开启多个服务,这可以有很多方法,最简单的就是把多个启动命令放到一个启动脚本里面,启动的时候直接启动这个脚本

例如:docker run  –d  镜像  /run.sh

另外就是安装进程管理工具。

本节将使用进程管理工具 supervisor 来管理容器中的多个进程。使用 Supervisor 可以更好的控制、管理、重启我们希望运行的进程

Supervisor是一个进程控制系统. 它是一个C/S系统(注意: 其提供WEB接口给用户查询和控制), 它允许用户去监控和控制在类UNIX系统的进程。

演示一下如何同时使用 ssh 和 apache 服务。

1)首先创建一个 Dockerfile,内容和各部分的解释如下。

dockerfile文件内容:

docker supervisor进程管理_进程管理

docker supervisor进程管理_docker_02

2)supervisor  配置文件内容:

docker supervisor进程管理_supervisor_03

docker supervisor进程管理_docker_04

3)/docker/apache目录内容列表docker supervisor进程管理_进程管理_05

4)使用方法

①开启路由转发功能和关闭selinux

docker supervisor进程管理_docker_06

②创建p_w_picpath

docker supervisor进程管理_docker_07

③查看镜像

docker supervisor进程管理_进程管理_08

④启动supervisor容器

docker supervisor进程管理_docker_09

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

docker supervisor进程管理_docker_10

docker supervisor进程管理_进程管理_11

docker supervisor进程管理_docker_12

总结:dockersupervisor与前面所学的dockerfile的很相似,它们的区别是dockerfile使用的是run.sh脚本启动的应用进程,而docker supervisor使用supervisor进程管理工具开启的应用进程。用supervisor文件代替了run.sh脚本文件。