在docker容器中运行flask应用过程,


目录
  • 1、目录结构设定
  • 2、创建一个简单的flask
  • 3、创建Dockerfile
  • 4、创建容器Container
  • 5、运行容器
  • 6、测试访问
  • 总结

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即可!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持PHP之友。

您可能感兴趣的文章:
  • Docker容器中文乱码(修改docker容器编码格式)的解决方案
  • 替换docker容器中的一个文件的实现
  • 将普通用户加入Docker组,使用docker问题

相关内容