簡體   English   中英

Python 3.4 Docker容器中的AWS Elastic Beanstalk container_commands

[英]AWS Elastic Beanstalk container_commands in Python 3.4 Docker Container

我有一個要在Python 3.4上運行的Django 1.6應用程序,並且希望在AWS Elastic Beanstalk上進行部署,因此我選擇了“預配置-Docker / Python”(即Python 3.4)作為配置,但是在container_command上部署失敗運行django-admin.py 相同的占位符應用程序捆綁包在“預配置/ Python”配置(即Python 2.7)上按預期運行,沒有錯誤。

根據文檔, .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預期方式找到django-admin.py 但是,Python 3.4 Docker容器在container_command階段使用Python 2.6,因此沒有設置環境來查找django-admin.py或已安裝的pip軟件包。

如何獲得預配置的Docker / Python(3.4)容器以在預期的環境中執行container_commands 在觸發container_commands之前,是否缺少激活容器和/或virtualenv的步驟?

AWS支持人員指示我添加自定義Dockerfile。 我使用了Dockerfile的ENTRYPOINT來覆蓋基礎映像中的默認值,因此我可以穿上自己的腳本來觸發syncdb命令。

參考: https : //forums.aws.amazon.com/message.jspa? messageID =595630

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM