一: Supervisor

Docker  容器在启动的时候开启单个进程,比如,一个  ssh  或者  apache    daemon  服务。

但我们经常需要在一个机器上开启多个服务,这可以有很多方法,最简单的就是把多个启动

命令放到一个启动脚本里面,启动的时候直接启动这个脚本。

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

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

使用  Supervisor  可以更好的控制、管理、重启我们希望运行的进程。

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

 

在这里我们演示一下如何同时使用  ssh    apache  服务。

首先准备工作

安装docker

blob.png

上传centos7镜像

blob.png

创建一个dockerfile 的目录

blob.png

我们访问容器的时候不想麻烦,不用输入密码,可以这么做

blob.png

然后上传公钥

blob.png

/docker/apache目录下创建Dockerfile

docker supervisor + compose_第1张图片

/docker/apache目录下创建supervisor

docker supervisor + compose_第2张图片

创建supervisord镜像

blob.png

启动supervisord容器

blob.png

访问测试:

docker supervisor + compose_第3张图片

二:Docker Compose

docker supervisor + compose_第4张图片

compose 项目简介

compose 项目来源于之前的 Fig项目,使用python代码编写。compose项目主要用于编排部署基于docker 的应用。本身与 dockerswarm配合度很高。

Docker Compose    Docker  编排服务的一部分,可以让用户在其它平台快速安装 Docker

Swarm  可以让  Docker  容器在集群中高效运转,而  Compose  可以让用户在集群中部署分布式应用。简单的说,Docker Compose  属于一个“应用层”的服务,用户可以定义哪个容器组运行哪个应用,它支持动态改变应用,并在需要时扩展。 

相对于kubernetes来说功能比较简单,相当于 kubernetes的一个子集。

dockerfile可以让用户管理一个单独的应用容器, Compose 则允许用户在一个模板(yaml格式)中定义一组相关联的应用容器(被称为一个 Project,即项目),例如一个调度器,两个 web服务容器再加上后端的数据库服务容器等。

 

 

安装Docker-compose

先安装pip,再安装compose

blob.png

创建文件夹

blob.png

根据容器ID添加在/root/docker-compose/下创建docker-compose.yml

blob.png

docker supervisor + compose_第5张图片

haproxy中添加haproxy.cfg

docker supervisor + compose_第6张图片

添加网页图片

blob.png

开启容器

blob.png

blob.png

最后访问测试

80

docker supervisor + compose_第7张图片

70

docker supervisor + compose_第8张图片

                                        //原创不易,客官留个赞再走呗///