docker部署anaconda管理的tensorflow项目

继上一节搭好环境,先找个小demo练练手


目录

1、首先保证代码能在本地成功运行

2、导出该项目的依赖

3、将上面的文件全部移入centos7虚拟机中

4、编写dockerfile

5、运行dockerfile

6、查看生成的镜像

7、以守护程序创建并启动容器

8、测试

9、补充


 

这是慕课网上的例子https://www.imooc.com/video/17243

1、首先保证代码能在本地成功运行

本地已有python开发环境(pythonpip 等)

项目源码:https://github.com/zj827622690/tensorflow_mnist-demo

2、导出该项目的依赖

虽然我们项目的库是由anaconda管理的,但我们这里还是用pip来导出项目配置(这里我会在后面来解释)

tensorflow_mnist-demo目录下

pip freeze > requirements.txt

 

 

3、将上面的文件全部移入centos7虚拟机中

并改名mnist_testdemo

虚拟机用到是VMware,需装好docker,很简单这里就略了

4、编写dockerfile

FROM python:3.7

FROM tensorflow/tensorflow:nightly

MAINTAINER zj  [email protected]

ADD ./mnist_testdemo /code

WORKDIR /code

EXPOSE 8000

RUN pip install -r /code/requirements.txt

CMD ["python", "/code/main.py"]



-------------------

注意:pip无法下载tensorflow,所以把它也设为base

ADD ./mnist_testdemo /code 中 /code是别名

WORKDIR /code 指定工作目录

一开始,我准备用conda 来下载库,但一直报错,说连不到网站什么的,只能用pip,这里卡了我好久

5、运行dockerfile

docker build -t mnist_testdemo .

发现报错

大概意思找不到numpy==1.13.3
opencv-python==3.4.0.12

 

然后我将requirements.txt相应部分的版本号去掉,如下

numpy

open-python

flask

记得把flask加上去,因为我们项目需要它打成restful api

(第一次运行时间可能有点长,可以倒杯咖啡~~)

6、查看生成的镜像

docker images

7、以守护程序创建并启动容器

docker run -d --name python-demo –p 8000:8000 mnist_testdemo:latest

第一次,发现容器没有成功运行

 

docker logs 容器id 来查看docker日志

发现报错,大概是说找不到目录文件C:\\Python-demo-project\\mnist_testdemo\\mnist\\mnist_log

 

这里我一开始是在win10环境下,现在是在linux环境下,当然会出错了

# summay_writer = tf.summary.FileWriter("C:\\Python-demo-project\\mnist_testdemo\\mnist\\mnist_log", sess.graph)

summay_writer = tf.summary.FileWriter("mnist_testdemo/mnist/mnist_log", sess.graph)

改好了这后

再运行一次

成功:

8、测试

ip+端口

9、补充

删除容器 docker rm 容器id

删除镜像 docker rmi 镜像id

猜你喜欢

转载自blog.csdn.net/qq_41603102/article/details/84581062