一、使用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目錄內容列表
使用方法
創建image(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來啓動你的應用
查看容器啓動情況
測試