一: 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

blob.png

/docker/apache目录下创建supervisor

blob.png

创建supervisord镜像

blob.png

启动supervisord容器

blob.png

访问测试:

blob.png

二:Docker Compose

t01facaf063f9c98774.png

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

blob.png

haproxy中添加haproxy.cfg

blob.png

添加网页图片

blob.png

开启容器

blob.png

blob.png

最后访问测试

80

blob.png

70

blob.png

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