Elastic Beanstalk 上的 Docker + Django
Posted
技术标签:
【中文标题】Elastic Beanstalk 上的 Docker + Django【英文标题】:Docker + Django on Elastic Beanstalk 【发布时间】:2020-11-25 09:47:50 【问题描述】:我有一个 Django 项目。我正在考虑在部署到 Elastic Beanstalk 之前将 Docker 添加到其中。我对 Django 和 Docker 非常陌生,想知道在将 Django 应用程序部署到 Elastic Beanstalk 时使用 Docker 有什么好处。谢谢!
【问题讨论】:
这能回答你的问题吗? What's the advantages of using Docker with AWS Elastic Beanstalk? 【参考方案1】:与常规 Python EB 环境相比,在 EB 中使用 Docker 的一般优势可移植性和可重复性。
如果您将 django 应用程序捆绑为 Docker 容器,您就知道您的开发环境将与您的生产环境完全相同。容器中的所有依赖项、包版本、工具都将相同,无论它是在本地工作站、家用笔记本电脑还是在 EB 平台上运行。
但是,当您使用常规 Python 平台时,可移植性和可重现性可能难以保证。当前的 Python 平台基于 Amazon Linux 2。那么问题来了,你的开发环境是在家里还是在工作中完全一样?通常情况并非如此,这往往会导致“它在我本地的 ubuntu 工作站上工作,但在 EB 上不工作”的问题。
另外,有一天您可能会决定将您的应用程序从 EB 甚至 AWS 中迁移出去。使用 docker 会更容易做到这一点。这是因为 EB 是 AWS 的定制产品,其他具有自己设置和要求的供应商无法提供。
EB 支持两种基于 docker 的环境:
single-docker multi-docker根据您的要求,您必须使用其中之一。他们每个人都有自己的用例,我认为这超出了这个问题的讨论范围。
【讨论】:
以上是关于Elastic Beanstalk 上的 Docker + Django的主要内容,如果未能解决你的问题,请参考以下文章
Elastic Beanstalk 上的 ElasticSearch
AWS Elastic Beanstalk 上的 Spring Boot 并记录到文件
如何避免 AWS Elastic Beanstalk 上的 TooManyApplicationVersion 异常?