ElasticBeanstalk Docker,一个Container还是多个容器?

我们正在开发一个新的REST API,它将使用Docker部署在AWS ElasticBeanstalk上。 它使用Python芹菜计划的工作,这意味着单独的过程需要运行的工人,我们目前的Dockerconfiguration有三个容器…

多容器Docker:

09c3182122f7 sso "gunicorn --reload --" 18 hours ago Up 26 seconds sso-api f627c5391ee8 sso "celery -A sso worker" 18 hours ago Up 27 seconds sso-worker f627c5391ee8 sso "celery beat -A sso -" 18 hours ago Up 27 seconds sso-beat 

传统观点认为,我们应该在ElasticBean上使用多容器configuration,但是由于所有的容器都使用相同的代码,因此从OPS的angular度来看,使用带有Supervisord的单个容器configuration来pipe理stream程可能更加高效和简单。

单容器w / Supervisord:

 [program:api] command=gunicorn --reload --bind 0.0.0.0:80 --pythonpath '/var/sso' sso.wsgi:application directory=/var/sso [program:worker] command=celery -A sso worker -l info directory=/var/sso numprocs=2 [program:beat] command=celery beat -A sso -S djcelery.schedulers.DatabaseScheduler directory=/var/sso 

在AWS存储器上设置多容器configuration分配给每个容器时,我认为让容器操作系统在内部处理内存分配而不是明确地将其设置到每个容器是更高效的。 我不太了解多容器Docker如何在ElasticBeanstalk上运行以智能地推荐某种方式。

什么是这种情况的最佳configuration?