何时在Elastic Beanstalk中使用多容器泊坞窗来运行Rails应用程序?

我想将rails API应用程序部署到AWS Elastic Beanstalk,并注意到docker有两个选项。

  1. 单个容器
  2. 多容器

我觉得对于这个应用程序来说只需一个容器就足够了,但是我想知道什么时候使用多容器。 如果我想将两个rails应用程序(一个是API应用程序,另一个是pipe理应用程序)部署到单个EC2实例,那么情况是这样吗?

那么..不是真的。 多容器,因为它保持,有不止一个容器在整体定义(使用Dockerrun.aws.json文件完成)。 你仍然可以使用任何你想要的应用程序来部署一个容器,比如django,基于Python的框架,还有一个API和pipe理面板,它们都在一个应用程序中。

但是您可能希望将您的应用程序部署在某个反向代理之后,可能是Nignx,所以需要第二个容器。 在这种情况下,你会使用Multicontainer。 使用MultContainer的主要优点是每个容器可以使用本地networking和一些DNS主机映射相互交谈,所以你的Nginx容器可以通过proxy_pass来调用任何应用程序的名字,就像Rails或者Django应用程序的“backend”一样活的。