如何在单个Docker容器中并行运行多个服务?

时间:2020-05-05 16:20:20

标签: docker dockerfile

假设我有3个服务service1service2service3。为了节省资金并使部署简单,我计划在单个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个服务作为一项服务同时运行,所以我的容器只有在所有服务都停止时才会退出?

1 个答案:

答案 0 :(得分:1)

(首先提出作为评论) 在后台启动服务并使Docker容器保持活动状态:

service1&service2&service3&等待