无法在 AWS 上对 django 应用程序(nginx、psql)使用持续交付



我已经尝试了多个教程来运行我的应用程序,该应用程序在docker,django,nginx,postgres上运行得很好。我已经准备好了docker-compose.yml文件,将其发送到云不是很简单吗?我尝试了Elasticbeanstalk,得到了多个难以调试的错误。AWS似乎不支持docker-compose.yml我应该使用他们的Dockerrun.aws.json,我也尝试了ECS,但这似乎也不容易。

有没有人知道一个完整、彻底的教程?顺便说一下,我正在使用代码,所有测试运行良好,但部署也一直失败。

如果是 docker,我建议直接转到 ECS。是的,它们不支持 docker-compose,但 ECS 足够相似。查看以下 Github 项目,用于在 ECS 上部署 django

https://github.com/ethanmcc/django-ecs-deploy

您还应该查看以下 AWS docker-compose ecs-cli 实用程序:

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cmd-ecs-cli-compose.html

现在我回答了你的问题,我想建议你考虑不要使用 docker 发布,尤其是你的数据库。IMO,AWS 的关键价值之一是使用他们的一些托管系统,例如,使用 RDS 来管理您的 Postgres 数据库,而不是担心维护您自己的 24/7 全天候运行。与静态文件相同,最好的解决方案(而且非常便宜(是使用 S3,或者更好的是使用 CloudFront。

广告:查看以下链接,了解我创建的自以为是的模板,其中显示了我自己的基础架构,至少两家初创公司在生产中使用。它在本地使用 docker-compose,但我使用 Elastic Beanstalk (Python( + RDS + CloudFront 进行生产,并显示了执行此操作的单个部署命令。它比通常要复杂一些,因为它将静态文件构建为独立项目(使用 Gulp(并直接部署到 S3/CloudFront,然后将基于的模板复制到 Django 项目中:

https://github.com/dkarchmer/django-aws-template

最新更新