前言:我们都知道docker的好处,总而言之就是多快好省。那我们要能够玩转docker就得知道配合docker使用的两种工具-------Supervisor和Compose.我来分别介绍这两种工具和如何使用。


                         Docker常用的编排管理工具(批量管理)       


   Supervisor:

            使用进程管理工具 supervisor 来管理容器中的多个进程。使用 Supervisor 可以更好的控制、管理、重启我们希望运行的进程。它是c/s系统。


演示:

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


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

创建一个dockerfile的目录

Docker常用的编排管理工具(批量管理)_docker

dockerfile文件内容:

Docker常用的编排管理工具(批量管理)_compose_02

supervisor 配置文件内容:

Docker常用的编排管理工具(批量管理)_docker_03


第一段 supervsord 配置软件本身,使用 nodaemon 参数来运行。nodaemon=true 如果是truesupervisord进程将在前台运行,默认为false,也就是后台以守护进程运行。

下面2段包含我们要控制的 2 个服务。每一段包含一个服务的目录和启动这个服务的命令

/docker/apache目录内容列表!

Docker常用的编排管理工具(批量管理)_supervisor_04


使用方法

创建 p_w_picpath

# docker build -t centos:supervisord 

Docker常用的编排管理工具(批量管理)_supervisor_05


创建完镜像(p_w_picpath)后,我们可以是用docker p_w_picpaths命令查看已经创建好的镜像。

我们利用这个p_w_picpath来启动supervisor容器:

Docker常用的编排管理工具(批量管理)_compose_06

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


注意:这里我们用到的是dockerfile文件来制作镜像的,当然我们还可以用docker commit命令来创建镜像。两者是有区别的。前者直接在dockerfile文件中完成镜像制作,这样也方便后期的更改添加新功能,而使用docker commit创建完成后,再在容器里配置服务,缺点是不利于随时添加新功能(添加信功能后还需要重新生成镜像),同时也不利于别人来识别这个镜像里的功能。




二:compose编排部署基于docker的应用


使用:

安装Docker-compose,我们需要先安装pip

使用wget下载:wget  https://bootstrap.pypa.io/get-pip.py

安装:

1.pip install docker-compose

2.ln -s /usr/bin/docker-compose  /usr/local/bin/

3.安装完成后就可以使用dockercompose命令了。


我们使用compose工具实验思路:

首先,使用Dockerfiledocker  commit来定义你的应用环境

第二步,用一个docker-compose.yml来定义你的应用,他们可以在下个互隔离的容器中组成你的应用。

第三步,执行docker-composeup  -d来启动你的应用,它会根据docker-compose.yml的设置来pull/run相关的容器。

 

我们用这个图来表示这个项目的工作目录结构:

Docker常用的编排管理工具(批量管理)_docker_07


Docker-haproxy就是一个项目的工作目录

这个目录下创建两个子目录,就是我们需要的两个应用目录。

docker-haproxy下我们还需要有一个模板文件docker-compose.yml,它可以创建隔离的容器。

最后使用docker-compose up -d 来启动应用。

注意:在这些配置文件中,我们需要把要用到的光盘镜像准备好。