Docker Container同時啟動多服務

2021-08-27 23:11:22 字數 1274 閱讀 8840

昨天踩了個天坑,我有乙個基本的映象centos6.5+ssh,是通過dockerfile build的,利用cmd命令啟動ssh。

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

利用docker的命令inspect可以看到,cmd已經被替換了。

"cmd": [

/usr/bin/supervisord"

],

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

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

建立dockerfile:

# use this image to run multiple service

# add service in supervisord.conf

from centos6-ssh

maintainer [email protected]

run yum install -y supervisor

run mkdir -p /var/run/sshd

run mkdir -p /var/log/supervisor

add supervisord.conf /etc/supervisord.conf

# expose your port to host

expose 22

80cmd ["/usr/bin/supervisord"]

建立supervisord.conf:

[supervisord]

nodaemon=true

[program:sshd]

command=/usr/sbin/sshd -d

#add another service

#[program:hello]

#command=/bin/bash -c "/root/test.sh"

製作成image:

docker build -t supervisord .
以後就可以通過supervisord.conf新增服務了

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

Docker container常用的命令

今天操作docker命令,顯然不那麼令人滿意,總結一下常用命令 安裝docker 顯像管理 docker images 列出本地所有映象 docker search 查詢image docker pull docker push 上傳image docker rmi 刪除image 容器管理 doc...

docker container 動態修改記憶體限制

原文 docker動態修改配置用docker update,用法 docker update h flag shorthand h has been deprecated,please use help usage docker update options container container....

連線 Docker Container 的幾種方式

經過熟悉之後,在 docker 裡安裝了乙個 ubuntu 準備學習使用。然後遇到了一些問題 使用 docker run d ubuntu 之後,container在執行之後馬上退出了。原因很簡單,在docker run 之後沒有命令引數,新增 bash 就可以了 docker run d ubun...