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即可!
refer links:Running a Flask application inside a Docker container、https://zhuanlan.zhihu.com/p/78432719