docker supervisor进程管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker supervisor进程管理相关的知识,希望对你有一定的参考价值。

博主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文件内容:

技术分享

技术分享

2)supervisor  配置文件内容:

技术分享

技术分享

3)/docker/apache目录内容列表技术分享

4)使用方法

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

技术分享

②创建image

技术分享

③查看镜像

技术分享

④启动supervisor容器

技术分享

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

技术分享

技术分享

技术分享

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

以上是关于docker supervisor进程管理的主要内容,如果未能解决你的问题,请参考以下文章

Docker 使用Supervisor来进程管理

docker之使用supervisor管理多个进程

docker技术剖析--docker supervisor管理进程

docker supervisor进程管理

Monit实现Docker容器内多进程管理

云计算使用supervisor管理Docker多进程-ntpd+uwsgi+nginx示例最佳实践