假设我有3个服务service1
,service2
和service3
。为了节省资金并使部署简单,我计划在单个Docker容器中运行它们,而不是每个容器中运行一个。如何定义我的ENTRYPOINT
?
如果我在后台运行它们:
ENTRYPOINT service1 & service2 & service3 &
命令将退出,我的容器也会退出。
如果我按顺序运行它们:
ENTRYPOINT service1 && service2 && service3
or
ENTRYPOINT service1; service2; service3
service1
将被阻止,并且service2
仅在service1
停止运行之后才会启动。
我什至尝试使用GNU parallel
:
ENTRYPOINT (service1; service2; service3) | parallel
但是,同样的行为,service2
仅在service1
停止后才开始
那我怎样才能将3个服务作为一项服务同时运行,所以我的容器只有在所有服务都停止时才会退出?
答案 0 :(得分:1)
(首先提出作为评论) 在后台启动服务并使Docker容器保持活动状态:
service1&service2&service3&等待