在第一部分, 你学到如何使用 Docker 来创建一个基于python, postgres, 和 flask web 框架的 RESTful API 可重用开发环境. 在 app 启动本地运行后, 学习如何在 Amazon EC2 实例上部署。
前置条件
这不是一个入门课程。 此课程为至少有六个月网站开发经验的高级入门者设置。在开始之前, 你需要熟悉以下主题。 点击链接查看更多内容。
主题 | 资源 |
---|---|
Docker | |
Docker Compose | |
Docker Machine | |
Flask |
目标
这部分结束,具备以下能力。。。
- 使用 Flask 和 python 开发 RESTful API
- 实践测试驱动开发
- 本地使用 Docker 配置运行服务
- 利用卷挂载代码到容器
- 在 Docker 容器中进行单元和集成测试
- 不同容器内的服务通信
- 在 Docker 容器中使用 python 和 Flask
- 在 Amazon EC2 实例中安装 Flask, Nginx, 和 Gunicorn
- 使用 Docker Machine 部署到 EC2
App
最终 app:
图例略
彻底检查以下接口。。。 | |||
---|---|---|---|
接口 | HTTP 方法 | CRUD 方法 | 结果 |
/users | GET | READ | get all users |
/users/:id | GET | READ | get single user |
/users | POST | CREATE | add a user |
/users/ping | GET | READ | sanity check |
本质上, app 运行在三个容器中– Flask, Postgres, Nginx.
第一部分结束时, 你将完成部署上面的 app. 再接下来的部分我们添加权限和其他服务。
第一部分完整代码: []()
依赖
第一部分依赖
Python v3.7.2
Flask v1.0.2
Docker v18.09.0
Docker Compose v1.23.2
Docker Machine v0.16.0
Docker Compose file v3.7
Postgres v11.1
Flask-SQLAlchemy v2.3.2
psycopg2 v2.7.6.1
Flask-Testing v0.7.1
Gunicorn v19.9.0
Nginx v1.15.8
Bulma 0.7.2
耗时
一章需要几个小时到一整天。 空余大块时间来完成一章, 特别是5,6,7. 这些较难的部分。