Python 应用 Docker 化

目录结构

app.py  Dockerfile  requirements.txt

app.py

from flask import Flask

app = Flask(__name__)

@app.route("/")
@app.route("/home")
def home():
    return "<h1>Home Page</h1>"

app.run(debug=True,host='0.0.0.0', port=80)

注意:ip地址填0.0.0.0 而不是填你本地非docker环境正常跑的局域网ip地址

requirements.txt

Flask==1.0.2

Dockerfile

FROM python:3-alpine

MAINTAINER luli

WORKDIR /app

ADD . /app

RUN pip3 install -r requirements.txt  -i https://mirrors.aliyun.com/pypi/simple/

EXPOSE 80

CMD ["python3","app.py"]

注意:如果你docker环境使用的python版本是python3 那么你pip和python指令也要使用pip3 和 python3

Docker 编译、启动脚本

docker build -t pytest2-1 .
docker run -d --name pyt -p 4000:80 pytest2-1

测试

//先看下docker日志是否正常
docker log pyt
//访问试下看看
curl http://192.168.182.129:4000/ 
//不行的话
docker run -it --name pyt -p 4000:80 pytest2-1 /bin/sh
进入容器内部看看文件是否正常,执行 python3 app.py 看看