天天看點

Docker Container同時啟動多服務

昨天踩了個天坑,我有一個基本的鏡像centos6.5+ssh,是通過dockerfile build的,利用cmd指令啟動ssh。

通過centos6.5+ssh鏡像,我想build一個rabbitmq鏡像,dockerfile中cmd啟動rabbitmq服務。雖然我知道dockerfile中的cmd隻能有一個,但沒想到建立另一個image,也會繼承from image的cmd.

利用docker的指令<code>inspect</code>可以看到,cmd已經被替換了。

下面進入正題,如何同時啟動多個服務,主要有如下方式

supervisor是linux下監控程序的工具,通過supervisor啟動所有服務。

建立dockerfile:

建立supervisord.conf:

制作成image:

以後就可以通過<code>supervisord.conf</code>添加服務了

通過将所有要啟動的服務封裝成一個腳本,利用cmd指令去啟動這個腳本。但是不如supervisord好、不推薦。