flask(二)虚拟机Ubuntu 系统中docker运行flask

1、docker安装

2、flask demo生成镜像 

导出项目依赖requirement.txt


pip freeze > requirements

 会将不相关的依赖包一起导出。

导出纯净依赖requirement.txt

安装:pip install pipreq  

导出命令:pipreqs ./

出现GBK编码出错,使用:pipreqs ./ --encoding=utf8 命令,即可导出项目纯净的依赖包。

编辑Dockerfile文件

        

#基础镜像

FROM ubuntu:latest


#代码添加到code文件夹

ADD ./test  /project


# 设置project文件夹是工作目录

WORKDIR /project

# 安装依赖
RUN apt-get update -y &&apt-get install -y python3-pip python3-dev

RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

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

压缩文件上传到Ubuntu系统中

生成镜像

docker build -t flaskdemo .

镜像名只能小写

查看镜像

        docker images 或docker image ls

3、docker运行

运行容器

查看存在容器

        docker ps -a

查看运行容器

        docker ps

 进入容器:查看、添加依赖

        sudo docker exec -it 容器ID /bin/bash 

退出容器

        exit

更新容器:容器内部新增依赖时,退出后需要更新。

docker commit -m="has update" -a="matt"(作者) e218edb10161(容器ID ubuntu:v2(镜像名)

停止容器运行

        docker stop 容器ID

启动容器

        docker start 容器ID

4、接口测试

外部局域网postman测试ubuntu flask接口:

直接运行python3 app.py

运行显示两个地址: 

虚拟机本地地址:http://127.0.0.1:5000               可访问
虚拟机局域网地址: http://192.168.1.142:5000  可访问

   

docker+flask测试

方法一:

docker run flaskdemo

docker环境下只能通过 172.17.0.3:5000访问接口,本地及外部局域网之间不能访问

方法二:

docker run -d -p  127.0.0.1:5000:5000 --name demo flaskdemo

可以通过本地127.0.0.1:5000及172.17.0.3:5000地址访问,外部局域网之间不能访问

猜你喜欢

转载自blog.csdn.net/m0_37264397/article/details/126963315