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

来源:互联网 发布:bilibili for mac安装 编辑:程序博客网 时间:2024/06/17 18:10

在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/tensorflowWORKDIR /notebooksRUN 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             SIZEtensorflow              tensorflowCV        8542237ab6ef        2 weeks ago         1.342 GB<none>                  <none>              77925c90943c        2 weeks ago         981.2 MBhaproxy                 latest              d36f981f3ced        6 weeks ago         134.9 MBros                     indigo-ros-core     de120dbe2b09        6 weeks ago         810.9 MBredis                   latest              e4a35914679d        6 weeks ago         182.9 MB…………(省略其他)……

可以看到第一个镜像就是我们刚才建立的“Tensorflow+OpenCV“组合镜像。

1 0
原创粉丝点击