您的位置:首页 > 运维架构 > Docker

在Docker中进行“Tensorflow+OpenCV“组合镜像的配置

2017-04-15 15:40 330 查看

在Docker中配置“Tensorflow+OpenCV“组合镜像

Docker中,用Tensorflow容器进行一些样本训练的时候,比如用CNN进行数字识别,需要使用OpenCV中的部分包,这就要在Tensorflow容器中安装Opencv,如果每启动一个Tensorflow容器就安装一次OpenCV则会很麻烦。所以,本文将用一个dockerfile进行一次性build一个组合镜像,简单介绍步骤。

1.下载Tensorflow镜像

实际上有两种方法,一种是依照Tensorflow的官网的文档,一种是Docker官网的文档,建议使用后者-链接:https://hub.docker.com/r/tensorflow/tensorflow/

docker pull tensorflow/tensorflow


2. 建立Dockerfile

(1)关于Dockerfile的介绍请参考:

https://docs.docker.com/engine/reference/builder/

(2)在方便自己查找的情况目录下,建立一个文件夹,比如tensorflow-docker:

$ sudo mkdir tensorflow-docker


PS.

mkdir 目录名 => 创建一个目录

rmdir 空目录名 => 删除一个空目录

rm 文件名 文件名 => 删除一个文件或多个文件

rm –rf 非空目录名 => 删除一个非空目录下的一切

touch 文件名 => 创建一个空文件

(3)进入文件夹
tensorflow-docker
,建立一个文件

,命名为
Dockerfile
(不要用其他名称)

$ sudo vi Dockerfile


把以下内容复制到Dockerfile 并保存退出。

FROM tensorflow/tensorflow

WORKDIR /notebooks

RUN sed -i "s|http://archive.ubuntu.com|http://mirrors.163.com|g" /etc/apt/sources.list && rm -Rf /var/lib/apt/lists/* && apt-get -y update && apt-get install -y \
pkg-config \
python-dev \
python-opencv \
libopencv-dev \
libav-tools  \
libjpeg-dev \
libpng-dev \
libtiff-dev \
libjasper-dev \
python-numpy \
python-pycurl \
python-opencv


(4)构建“Tensorflow+OpenCV“组合镜像

tensorflow-docker
目录下运行
docker build
命令

sudo docker build -t tensorflowCV .


解释:参数
-t
指的是给新建立的镜像一个tag,这里我们的tag就是
tensorflowCV
;另外,不要忘记
.
这个命令,它表示告诉
docker build
当前目录下寻找一个叫做
Dockerfile
的文件。

PS. 用Dockerfile构建镜像的过程可以参考:

Dockerfile创建本地镜像

(5)成功建立后,可以查看本地镜像库的镜像

sudo docker images


在本人的PC上得到的显示结果部分如下:

$ sudo docker images
[sudo] password for mingchen:
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
tensorflow              tensorflowCV        8542237ab6ef        2 weeks ago         1.342 GB
<none>                  <none>              77925c90943c        2 weeks ago         981.2 MB
haproxy                 latest              d36f981f3ced        6 weeks ago         134.9 MB
ros                     indigo-ros-core     de120dbe2b09        6 weeks ago         810.9 MB
redis                   latest              e4a35914679d        6 weeks ago         182.9 MB
…………(省略其他)……


可以看到第一个镜像就是我们刚才建立的“Tensorflow+OpenCV“组合镜像。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息