何时在 Elastic Beanstalk 中使用多容器 docker 来运行 Rails 应用程序?
Posted
技术标签:
【中文标题】何时在 Elastic Beanstalk 中使用多容器 docker 来运行 Rails 应用程序?【英文标题】:When to use a multi-container docker in Elastic Beanstalk for running a Rails App? 【发布时间】:2018-05-04 16:44:16 【问题描述】:我想将 Rails API 应用程序部署到 AWS Elastic Beanstalk 并注意到 docker 有两个选项。
-
单个容器
多容器
我认为这个应用程序使用单个容器就足够了,但是我想知道什么时候使用多容器。如果我想将两个 Rails 应用程序(一个是 API 应用程序,另一个是管理应用程序)部署到单个 EC2 实例,是这样吗?
【问题讨论】:
我相信这对于***来说不是一个合适的问题。您应该阅读文档或进行在线搜索 【参考方案1】:嗯.. 不是真的。多容器,就其本身而言,在整体定义中具有多个容器(使用 Dockerrun.aws.json 文件完成)。您仍然可以使用任何您想要的应用程序部署一个容器,比如说 django,基于 Python 的框架,其中还有一个 API 和管理面板,并且它们都位于一个应用程序中。
但是您可能希望在某个反向代理之后部署您的应用程序,比方说可能是 Nignx,因此需要第二个容器。这就是您将使用 Multicontainer 的情况。使用 Multicontainer 的主要优点是每个容器可以使用本地网络和一些 DNS 主机映射相互通信,因此您的 nginx 容器可以使用 proxy_pass 按其名称调用任何应用程序,例如“后端”,Rails 或 Django 应用程序所在的位置生活。
【讨论】:
以上是关于何时在 Elastic Beanstalk 中使用多容器 docker 来运行 Rails 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AWS elastic-beanstalk 中更改我的 python 版本
在 AWS Elastic Beanstalk 中使用 SSM 参数存储
如何在 ASP MVC 中使用 Elastic Beanstalk 环境属性
在 Elastic Beanstalk 中更新 nodejs