docker supervisor管理進程

一、使用supervisor來管理


supervisor:進程管理工具,基於C/S架構。(其提供web接口給用戶查詢和 控制),它允許用戶去監控和控制在類unix系統的進程。

  使用supervisor可以更好的控制、管理、重啓我們希望運行的進程。

在這演示一下如何同時使用ssh和 apache 服務。(通過docker buid生成新鏡像)

配置

1.首先創建一個dockerfile目錄

dockerfile文件內容

wKiom1kBziSB4X1xAACsQtwmq1A950.png

supervisor配置文件內容

第一段supervsord配置軟件本身,使用nodaemon參數來運行。nodaemon=true 如果是true,supervisord進程將在前臺運行,默認爲false,也就是後臺以守護進程運行。

下面2段包含我們要控制的 2 個服務。每一段包含一個服務的目錄和啓動這個服務的命令

wKioL1kBzjHzNl9sAAAeIDL8CJ8935.png-wh_50

/docker/apache目錄內容列表

使用方法

創建image(docker build)

wKioL1kBzj3wSHL_AAAPKsoEBrs657.png-wh_50

啓動supervisor容器

wKiom1kBzkSBXhNYAAAVD7yXSF0727.png-wh_50

測試容器提供的web和ssh服務

二、docker compose項目

compose項目:源於之前的fig項目,使用python編寫。

Docker compose項目主要用於編排部署基於docker的應用。本身與docker/swarm配合度很高。

docker compose屬於一個“應用層”的服務。

dockerfile可以讓用戶管理一個單獨的應用容器,而compose則允許用戶在一個模板(yml格式)中定義一組相關聯的應用容器(被稱爲一個項目)。docker-compose中服務與項目說明:

服務:即應用容器。

項目:由一組關聯的應用容器組成的一個完整業務單元

安裝docker-compose

給docker-compose執行權限,並將其移動到path的任意一路徑下

wKioL1kBzljCB988AAAeS4wNCXo845.png

安裝成功後,可以查看docker-compose 的版本和命令的用法

wKiom1kBzmKxwqD1AAAXzrHepYU153.png

docker-compose命令:

測試案例

下面,我們創建一個經典的 Web 項目:一個Haproxy,掛載三個 Web 容器。

docker-haproxy目錄,作爲項目工作目錄,並在其中分別創建兩個子目錄:haproxy和web。

#mkdir  -p  /root/docker-haproxy/{haproxy,web}

在/root/docker-haproxy/目錄下編寫docker-compose.yml文件(compose的主模板文件)

wKiom1kBznKwujYWAABYxDK-F0c354.png-wh_50

在/root/docker-haproxy/haproxy目錄下創建haproxy的主配置文件haproxy.cfg

wKiom1kBzoGRY2sdAABm9qrPZMo431.png-wh_50

在/root/docker-haproxy/web目錄下存放web站點網頁文件

wKioL1kBzo6Cpi_iAAAe-ogmw_8025.png-wh_50

運行compose項目:

在docker-haproxy目錄下執行docker-compose up  -d來啓動你的應用

wKiom1kBzp3iO25RAAAbFjziroM284.png-wh_50

查看容器啓動情況

wKioL1kBzqrSURHkAACRsRWzyZc644.png-wh_50

測試

wKiom1kBzregpI-5AAApVbiWb2c590.png-wh_50

wKioL1kBzsLCsYVUAACGPmSLJA0586.png-wh_50

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章