【发布时间】:2015-03-13 05:33:45
【问题描述】:
我有一个在 Python 3.4 上运行的 Django 1.6 应用程序,我想在 AWS Elastic Beanstalk 上部署它,所以我选择了“预配置 - Docker/Python”(即 Python 3.4)作为我的配置,但部署失败在container_command 上运行django-admin.py。相同的占位符应用程序包在“预配置/Python”配置(即 Python 2.7)上按预期运行,没有错误。
根据documentation .ebextension config container_commands 在设置应用程序和Web 服务器并提取应用程序版本文件之后,但在部署应用程序之前运行。这似乎是 Python 2.7 容器的情况,但不是 Python 3.4 Docker 容器。
为了测试理论,我在我的包中添加了一个脚本来查看环境并将其作为container_command 执行。 Python 2.7 容器使用 Python 2.7,从requirements.txt 安装了 pip 包,并按预期找到了django-admin.py。然而,Python 3.4 Docker 容器在 container_command 阶段使用 Python 2.6,因此没有设置环境来查找 django-admin.py 或安装的 pip 包。
如何让 Preconfigured - Docker/Python (3.4) 容器在预期环境中执行 container_commands?在触发 container_commands 之前是否缺少激活容器和/或其 virtualenv 的步骤?
【问题讨论】:
标签: python django amazon-web-services docker amazon-elastic-beanstalk