Docker部署caffe到云服务器

最近学习了caffe,使用它在本地做了个人脸识别的小程序,后来找到个别人训练好的caffe模型,设想将模型放到服务器,在本地上传需要进行识别的人脸图片,在服务器进行计算,将结果返回。

第一步:安装Docker

我是直接使用以下脚本安装(听说只适用ubuntu和debian):

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
这个脚本执行完毕后来测试以下:输入:docker命令,回车,便会出现一串信息,证明已经安装好

Docker部署caffe到云服务器_第1张图片

更加详细的安装信息请单击此链接https://yeasy.gitbooks.io/docker_practice/content/install/ubuntu.html

第二步:安装一个基础容器,专门用来提供数据卷给其它容器用的容器

执行以下命令:

docker run -v /home/caffe:/workspace -it --name baseData ubuntu /bin/bash

简单解释:

-v:后面的内容表示将本地的(我是在云服务器)/home/caffe目录挂载到容器中的/workspace目录下,也就是说,往/home/caffe目录添加文件就相当于往容器中的workspace目录下添加,我们来验证一下。

执行命令后会直接进入到容器中,如下图

Docker部署caffe到云服务器_第2张图片

我们看到在根目录下面已经创建好workspace目录,里面为什么会有文件?因为原来在我的服务器上/home/caffe目录下面就存在这些文件了,我们可以退出容器,回到/home/caffe目录下面新建一个文件test.py,看看容器中的workspace下面会不会如我们想的也会存在test.py

Docker部署caffe到云服务器_第3张图片

在此目录下新建一个文件:vim test.py

Docker部署caffe到云服务器_第4张图片

再回到之前的容器看一下

执行命令:docker ps -a 就可以看到服务器中已经创建的所有容器,找到我们之前的容器:baseData

执行命令:docker start baseData就可以启动我们的容器

执行命令:docker attach baseData就可以进入到容器中(如果回车一次没结果,那么再按一次回车)

Docker部署caffe到云服务器_第5张图片

回到容器下面的workspace目录看看:

Docker部署caffe到云服务器_第6张图片

现在我们已经看到workspace目录下面有test.py这个文件了


  第三步:准备caffe镜像,并创建容器

我建议在阿里的Docker 仓库下面寻找,国外的仓库下载速度太慢,地址:https://cr.console.aliyun.com/?spm=5176.100239.blogcont29941.12.TLSWSg#/imageSearch

搜索自己想要的镜像,比如我在搜索框输入:caffe-cpu,然后找到镜像列表,选一个喜欢的,点击“详情”,将下载镜像的的命令复制,比如:

docker pull registry.cn-hangzhou.aliyuncs.com/hzxiaohu-caffe/caffe-cpu

粘贴到命令行,回车,等它执行完毕,查看镜像列表,执行命令:docker images

就会看到我们之前下载的镜像


第四步:创建一个基于这个镜像的新容器

执行docker images 找到我们下载到的镜像的 IMAGE ID,我的是 a6792330aad7,再执行以下命令,就可以创建了

docker run -it --name caffe -p 5000:5000 --volumes-from baseData a6792330aad7 /bin/bash

这条命令会创建一个名为caffe的容器,并主动进入到容器中。-p 5000:5000的意思是将容器中的5000端口映射到服务器的5000端口,--volumes-from的意思是我们创建的这个新容器将会和baseData容器共享那个挂在在服务器上的文件夹,即容器上的workspace 对应 服务器上的 /home/caffe 目录


如下图:


这样就将caffe通过docker布置到服务器上了,后面我会写使用caffe+docker+flask使之能够完成云端计算,将结果通过浏览器返回结果的过程

你可能感兴趣的:(机器学习)