Docker学习(中)Docker的应用(检测模型yolov3flask的部署)

前篇链接:https://blog.csdn.net/qq_34717531/article/details/107933650

 

一、容器环境配置

可以在这里下载点环境镜像:https://hub.docker.com/r/nvidia/cuda

我们准备将之前的flask检测应用使用docker封装部署,但是yolov4需要最新的opencv4.4环境,并没有现成的opencv4.4环境镜像,

我就随便下载了一个opencv3.6,使用yolov3flask测试一下。

docker pull haakenlid/opencv:3.6

首先建立一个带端口的容器:

sudo docker run -ti -d -p 4555:4555 --name ycc haakenlid/opencv:3.6 bash

将本机文件夹(yolov3flask,可参考:https://blog.csdn.net/qq_34717531/article/details/107818606)拷贝到容器(CONTAINER ID:f231f705b5ca)中: 

docker cp /home/ycc/yolov3flask f231f705b5ca:/

换源(https://blog.csdn.net/qq_34717531/article/details/107810920) 和安装flask。

(换源)pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
pip install flask
pip install pillow

进入容器并运行web.py

sudo docker exec -ti ycc bash
cd yolov3flask
python web.py

问题:会出现端口正常映射,但是浏览器却无法访问的情况。

解决:在代码中将ip地址改为0.0.0.0,保存后重新在Docke中部署一遍,在浏览器输入对应的ip即可访问成功。

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

再次运行,成功如下:

至此,docker flask yolov3环境配置完成,并成功运行。

 

二、容器打包成镜像

打包镜像指令解释:

-a:作者  , -m: 解释 ,容器名,新镜像名

docker commit -a "ycc" -m "yolov3flask" f231f705b5ca yolov3flask:v1

我们的yolov3flask就打包好了,在新镜像中建立一个容器测试一下。(因为4555端口已被占用,所以使用5000端口)

sudo docker run -ti -d -p 5000:4555 --name yccv1 yolov3flask:v1 bash

 测试成功,结果如下:

至此,我们的yolov3flask 使用docker部署成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学术菜鸟小晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值