我已经尝试了多个教程,以便运行我的应用程序,它在docker,django,nginx,postgres上运行得很好。我的docker-compose.yml文件已经准备好了,把它放到云上不是很简单吗?我尝试了Elasticbeanstalk,得到了难以调试的多个错误。亚马逊网络服务似乎不支持docker-compose.yml,我应该使用他们的Dockerrun.aws.json,我也尝试了ECS,但这似乎也不容易。
有没有人知道关于这方面的完整的、彻底的教程?顺便说一句,我使用的是codeship,所有的测试都运行得很好,但是部署也总是失败。
发布于 2017-07-03 03:55:55
如果是docker,我建议直接去ECS。是的,它们不支持docker-compose,但ECS足够相似。查看以下用于在ECS上部署django的Github项目
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发布,尤其是你的数据库。例如,使用RDS来管理您的Postgres数据库,而不是担心维护自己的启动和运行。与静态文件一样,最好的解决方案(也是超级便宜的)是使用S3,或者更好的方法,使用CloudFront。
广告:查看下面的链接,查看我创建的一个自以为是的模板,其中显示了我自己的基础设施,至少有两家初创公司在生产中使用了它。它在本地使用docker-compose,但我使用Elastic Beanstalk (Python) + RDS + CloudFront进行生产,并显示了执行此操作的单个部署命令。它比平时稍微复杂一些,因为它将静态文件构建为一个独立的项目(使用Gulp),并直接部署到S3/CloudFront,然后将基于模板的模板复制到Django项目:
https://stackoverflow.com/questions/44874002
复制相似问题