django - Elastic Beanstalk 上的 Docker + Django
问题描述
我有一个 Django 项目。我正在考虑在部署到 Elastic Beanstalk 之前将 Docker 添加到其中。我对 Django 和 Docker 非常陌生,想知道在将 Django 应用程序部署到 Elastic Beanstalk 时使用 Docker 有什么好处。谢谢!
解决方案
与常规 Python EB 环境可移植性和可重现性相比,在 EB 中使用 Docker 的一般优势。
如果您将 django 应用程序捆绑为 Docker 容器,您就会知道您的开发环境将与您的生产环境完全相同。容器中的所有依赖项、包版本、工具都是相同的,无论它是在本地工作站、家用笔记本电脑还是在 EB 平台上运行。
但是,当您使用常规 Python 平台时,可移植性和可重复性可能难以保证。当前的 Python 平台基于Amazon Linux 2。那么问题来了,你的开发环境是在家里还是在工作中完全一样?通常情况并非如此,这通常会导致“它可以在我的本地 ubuntu 工作站上运行,但不能在 EB 上运行”的问题。
此外,有一天您可能决定将您的应用程序迁移出 EB 甚至 AWS。使用 docker 会更容易做到这一点。这是因为 EB 是 AWS 的定制产品,在其他具有自己的设置和要求的供应商中不可用。
EB 支持两种基于 docker 的环境:
根据您的要求,您将不得不使用其中之一。他们每个人都有自己的用例,我认为这超出了这个问题的讨论范围。
推荐阅读
- machine-learning - 物体检测与图像差异在汽车座椅上寻找左侧物体
- python - 在人口减少的行上迭代标准差的最快方法是什么?
- android - 如何在android中创建多行可选文本视图
- android-studio - 如何在android studio中将时间设置为从早上8点到下午5点的唯一工作时间?
- abp - 配置 TextTemplate Provider 以从 DB 而不是 Abp 框架中的虚拟文件系统获取模板
- html - Gmail 应用程序的字体大小缩小(电子邮件模板问题)
- flutter - 如何在 Flutter 中使用 auto_route 实现动态 NestedNavigation?
- c - 尝试使用 wolfssl/openssl 和 zlib 从源代码安装 libcurl
- list - 如何从列表 Dart 中删除重复项 | 扑
- python - 将嵌套字典转换为系列