使用Django和Postgres在AWS上生产Docker:

我一直被困在最后,试图找出一个可以支持我的“dockerized”Python Django项目的云环境设置。 我的应用程序的架构很简单, 我有一个Web服务,一个Redis服务和一个数据库服务(请参阅我的撰写XML文件下面)。

我的困惑是find一个正确的path移动一个本地设置,通过docker组成的yml文件站立起来,像一个生产环境。 我非常喜欢docker组合工具,并希望为我的生产环境使用类似的configuration文件; 但是,我发现大多数基于容器的云方法比这个复杂得多…本指南一直是我的最爱,但是它并没有深入到数据库中,而是依赖于组件(这就省略了必要的坚韧的东西!)。

问题:

  • 我是否应该放弃在生产环境中使用docker-compose?
  • 我应该使用未集装箱化的数据库吗? 如果我不这样做,那么如何将集装箱化的Web服务configuration到Amazon RDS实例?
  • 我应该把docker-compose.yml分解成单独的docker文件吗? 我应该编写脚本来启动这些容器来维护环境吗?
  • 有没有一个可靠的教程,我没有发现做这种事情? 我很困惑如何过于简单的许多指南都没有帮助甚至比“你好世界”更复杂的应用程序。

我还发现AWS和Heroku缺乏基于Docker的stream行程度的普通function。 这是一个普遍的观点吗? Heroku没有帮助或主张在容器中设置数据库,对于试图使用在v3中编写的docker-compose yml文件的用户,AWS仍然落后。

任何build议都非常感谢…过去三晚我一直没有得出可靠的结论。

version: '3.3' services: db: restart: always image: postgres networks: - webnet redis: restart: always image: redis:latest expose: - "6379" networks: - webnet web: restart: always build: . command: make start volumes: - .:/code deploy: replicas: 5 resources: limits: cpus: "0.1" memory: 50M restart_policy: condition: on-failure ports: - "8000:8000" networks: - webnet depends_on: - db - redis networks: webnet: