Docker 学习之 容器中运行多个服务

本文介绍了在Docker容器中运行多个服务的两种方法:使用supervisor管理和通过脚本启动服务。尽管作者不推荐在同一容器内运行多服务,以遵循微服务架构原则,但这些方法对于理解Docker容器的运作仍有一定价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker 容器中运行多个服务

昨天踩了个天坑,我有一个基本的镜像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 edwardsbean@gmail.com
RUN yum install -y supervisor
RUN mkdir -p /var/run/sshd
RUN mkdir -p /var/log/supervisor
ADD supervisord.conf /etc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值