生成requirements.txt

使用pipreqs可以只生成该项目所需的包

pip install pipreqs
# 在当前目录生成
pipreqs . --encoding=utf8 --force

添加Dockerfile

FROM python:3.6

WORKDIR /home

COPY requirements.txt ./
RUN pip3 install --no-cache-dir -r requirements.txt

COPY . .

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

build生成镜像

在项目根目录下

docker build -t myflask .
# 这里的镜像名称就是myflask,注意后面还有一个.

运行docker

docker run -it -p 5000:5000 myflask

关于外部端口访问

app.py这样写

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True)

相关docker命令

查看所有容器 

docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
6829b938325a        5dd866fa2008        "python3 app.py"    About an hour ago   Up 25 minutes       0.0.0.0:5000->5000/tcp   peaceful_clarke

拷贝这个CONTAINER ID,写一个重启脚本

restart.sh

docker build -t myflask .
docker restart 6829b938325a

每次只要执行./restart.sh即可

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐