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 并记录到文件

Elastic Beanstalk 上的 SSL

如何避免 AWS Elastic Beanstalk 上的 TooManyApplicationVersion 异常?

如何避免 AWS Elastic Beanstalk 上的 TooManyApplicationVersion 异常?

无法连接到 Elastic Beanstalk 上的 ActionCable