首页 > 解决方案 > Elastic Beanstalk 上的 Docker + Django

问题描述

我有一个 Django 项目。我正在考虑在部署到 Elastic Beanstalk 之前将 Docker 添加到其中。我对 Django 和 Docker 非常陌生,想知道在将 Django 应用程序部署到 Elastic Beanstalk 时使用 Docker 有什么好处。谢谢!

标签: djangoamazon-web-servicesdockeramazon-elastic-beanstalkdocker-swarm

解决方案


与常规 Python EB 环境可移植性和可重现性相比,在 EB 中使用 Docker 的一般优势。

如果您将 django 应用程序捆绑为 Docker 容器,您就会知道您的开发环境将与您的生产环境完全相同。容器中的所有依赖项、包版本、工具都是相同的,无论它是在本地工作站、家用笔记本电脑还是在 EB 平台上运行。

但是,当您使用常规 Python 平台时,可移植性和可重复性可能难以保证。当前的 Python 平台基于Amazon Linux 2。那么问题来了,你的开发环境是在家里还是在工作中完全一样?通常情况并非如此,这通常会导致“它可以在我的本地 ubuntu 工作站上运行,但不能在 EB 上运行”的问题。

此外,有一天您可能决定将您的应用程序迁移出 EB 甚至 AWS。使用 docker 会更容易做到这一点。这是因为 EB 是 AWS 的定制产品,在其他具有自己的设置和要求的供应商中不可用。

EB 支持两种基于 docker 的环境:

根据您的要求,您将不得不使用其中之一。他们每个人都有自己的用例,我认为这超出了这个问题的讨论范围。


推荐阅读