在docker容器中运行flask应用过程
作者:taotao033
这篇文章主要介绍了在docker容器中运行flask应用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
1、目录结构设定
. ├── Dockerfile └── app ├── app.py └── requirements.txt
2、创建一个简单的flask
# app.py from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "Demo Flask & Docker application is up and running!" if __name__ == '__main__': app.run(host="0.0.0.0", port=80)
注意:
在app.run() host="0.0.0.0"
。
这里必须为0.0.0.0,是一个通配符IP地址,将匹配任何可能的输入。
3、创建Dockerfile
FROM python WORKDIR /opt/demo/ COPY /app . RUN pip install -r requirements.txt ENTRYPOINT python app.py
- 行1:从DockerHub上拉取和使用最新版的python,当然根据自己项目需要可以改成:FROM python:3.6
- 行3:设置工作目录 。相当于cd 进入该目录
- 行4:复制app文件夹到WORKDIR
- 行6:安装相关依赖包,这里可以加 -i https://pypi.tuna.tsinghua.edu.cn/simple 加快下载速度。
- 行8: 当docker run被执行时,开始运行Flask application。
4、创建容器Container
docker build -t demo-dockerflask:latest .
5、运行容器
- 临时运行docker镜像
docker run -it --rm -p 80:80 demo-dockerflask:latest
- 生产环境运行(以daemon方式运行)
docker run -d -p 80:80 --name demo-dockerflask-1 demo-dockerflask:latest
-it
终端交互--rm
本次程序终止,容器会自动清除-d
是后台运行-p
是建立端口映射--name
是容器的名称--:latest
是镜像的标记Tag,如:latest
6、测试访问
用浏览器打开127.0.0.1即可!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。