一、使用supervisor来管理
supervisor:进程管理工具,基于C/S架构。(其提供web接口给用户查询和 控制),它允许用户去监控和控制在类unix系统的进程。
使用supervisor可以更好的控制、管理、重启我们希望运行的进程。
在这演示一下如何同时使用ssh和 apache 服务。(通过docker buid生成新镜像)
配置
1.首先创建一个dockerfile目录
dockerfile文件内容
supervisor配置文件内容
第一段supervsord配置软件本身,使用nodaemon参数来运行。nodaemon=true 如果是true,supervisord进程将在前台运行,默认为false,也就是后台以守护进程运行。
下面2段包含我们要控制的 2 个服务。每一段包含一个服务的目录和启动这个服务的命令
/docker/apache目录内容列表
使用方法
创建p_w_picpath(docker build)
启动supervisor容器
测试容器提供的web和ssh服务
二、docker compose项目
compose项目:源于之前的fig项目,使用python编写。
Docker compose项目主要用于编排部署基于docker的应用。本身与docker/swarm配合度很高。
docker compose属于一个“应用层”的服务。
dockerfile可以让用户管理一个单独的应用容器,而compose则允许用户在一个模板(yml格式)中定义一组相关联的应用容器(被称为一个项目)。docker-compose中服务与项目说明:
服务:即应用容器。
项目:由一组关联的应用容器组成的一个完整业务单元
安装docker-compose
给docker-compose执行权限,并将其移动到path的任意一路径下
安装成功后,可以查看docker-compose 的版本和命令的用法
docker-compose命令:
测试案例
下面,我们创建一个经典的 Web 项目:一个Haproxy,挂载三个 Web 容器。
docker-haproxy目录,作为项目工作目录,并在其中分别创建两个子目录:haproxy和web。
#mkdir -p /root/docker-haproxy/{haproxy,web}
在/root/docker-haproxy/目录下编写docker-compose.yml文件(compose的主模板文件)
在/root/docker-haproxy/haproxy目录下创建haproxy的主配置文件haproxy.cfg
在/root/docker-haproxy/web目录下存放web站点网页文件
运行compose项目:
在docker-haproxy目录下执行docker-compose up -d来启动你的应用
查看容器启动情况
测试