文章出處

docker技術剖析之docker supervisor、compose:一、使用 Supervisor 來管理進程,Docker 容器在啟動的時候開啟單個進程,比如,一個 ssh 或者 apache 的 daemon 服務。

但我們經常需要在一個機器上開啟多個服務,這可以有很多方法,最簡單的就是把多個啟動命令放到一個啟動腳本里面,啟動的時候直接啟動這個腳本。

例如:docker run –d 鏡像 /run.sh

另外就是安裝進程管理工具。

本節將使用進程管理工具 supervisor 來管理容器中的多個進程。使用 Supervisor 可以更好的控制、管理、重啟我們希望運行的進程。

Supervisor是一個進程控制系統. 它是一個C/S系統(注意: 其提供WEB接口給用戶查詢和控制), 它允許用戶去監控和控制在類UNIX系統的進程。

在這里我們演示一下如何同時使用 ssh 和 apache 服務。

配置

首先創建一個 Dockerfile,內容和各部分的解釋如下。

創建一個dockerfile的目錄

wKiom1hilhOzwTHsAAAbp-xWxRk507.png-wh_50

 

wKioL1hileHApj-2AAAbp-xWxRk172.png-wh_50

dockerfile文件內容

wKioL1hilfjTp29eAABcFTtBO2Q178.png-wh_50

supervisor 配置文件內容

wKioL1hillLjU4VZAACE1Yx-PW8119.jpg-wh_50

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

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

/docker/apache目錄內容列表

wKiom1hilmbz_CHiAAAdDj5-MXk088.png-wh_50

使用方法

創建 image

# docker build -t centos:supervisord .

wKioL1hilnnQEVvqAACUbsTjtaQ258.jpg-wh_50

wKiom1hilojC_YixAAB8wn9W2pg432.png-wh_50

查看鏡像

wKiom1hilpbDkmKgAAAwo4lJRhQ370.png-wh_50

啟動我們的 supervisor 容器

wKioL1hilqOwrBuKAABmjv3w1e0685.jpg-wh_50

測試:訪問容器提供的web和ssh服務看文倉www.kanwencang.com網友整理上傳,為您提供最全的知識大全,期待您的分享,轉載請注明出處。
歡迎轉載:http://www.kanwencang.com/bangong/20170111/85027.html

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()