Introduction
本章,我们学习如何使用 Docker 构建可复用的开发环境,以创建 Flask-restful, Postgres 网页应用,并部署到云服务器。
准备
- Docker: Get started with Docker
- Docker Compose: Get started with Docker Compose
- Docker Machine: Docker Machine Overview
- Flask: Flaskr TDD
目标
学完本章,我们可以:
- 开发 Flask + Restful API
- 实践测试驱动(test-driven)开发
- 使用 Docker 在本地配置及运行服务
- 利用 volumes 并加载代码到 container
- 在 container 中运行单元和集成测试
- 启动不同容器中运行的服务以相互通信
- 在 Docker 容器内运行 Flask
- 在 Amazon EC2 上安装 Flask, Nginx 和 Gunicorn
- 使用 Docker Machine 部署到 EC2
App
应用的最后效果: http://testdriven-production-alb-1112328201.us-east-1.elb.amazonaws.com/
这个应用运行在三个容器:Flask, Postgres, Nginx 。在随后的章节中我们将添加权限和其他服务。
依赖
- Python v3.6.5
- Flask v1.0.2
- Docker v18.03.1-ce
- Docker Compose v1.21.1
- Docker Machine v0.14.0
- Docker Compose file v3.6
- Flask-SQLAlchemy v2.3.2
- psycopg2 v2.7.4
- Flask-Testing v0.6.2
- Gunicorn v19.8.1
- Nginx v1.15.0
- Bulma 0.7.1