Windows下使用docker装TensorFlow小记

在看Udacity的DL课的时候,要用TensorFlow,新电脑还没装Linux, 就尝试以下win下的TensorFlow安装,遇到一些小问题,记录一下。

1.首先安装docker。

docker的原理我不是很懂,但是一个很有用的东西,据说适合云上部署之类,有空再了解。

Windows版的docker官网下载地址为:https://www.docker.com/products/docker#/windows

如果是win10以下的版本选之前的Docker Toolbox,我下的就是Docker Toolbox。

然后是标准的exe安装流程,安装完成后出现以下三个图标,分别为virtual box(可以看创建的虚拟机),kitematic(好像用来找镜像)和Docker quickstation terminal(docker的命令行)。

Windows下使用docker装TensorFlow小记_第1张图片


2.启动Docker Quickstart Terminal

启动后画面是这样的:

Windows下使用docker装TensorFlow小记_第2张图片


3.安装TensorFlow

坑是从这里开始的,uda给的镜像pull的地址是这样的

Windows下使用docker装TensorFlow小记_第3张图片

然后就一直出错,pull不下来,后来把这个地址输到浏览器一看,是google云平台上的,猜测可能是被墙了,ss全局试了,可惜还是不行,各种重启都没用,到后来查了很多网页,问了一些小伙伴,说ss命令行下可能不行,需要才可以。于是找到一个试了下,果然可以pull了。但是速度很慢,最终采用了一个网友说的别的方法。

方法是:到docker hub注册个账号,然后docker命令行下

(1)登录,docker login -u 账号 -p 密码

(2)docker run -it tensorflow/tensorflow,就可以成功的下载了。

Windows下使用docker装TensorFlow小记_第4张图片


4.启动和试用TensorFlow

用下面的指令启动TensorFlow镜像

docker run -it tensorflow/tensorflow bash   (好像没有bash也是可以的)

做一点简单的测试

Windows下使用docker装TensorFlow小记_第5张图片


选项-i用于保持STDIN在当前的窗口上,-t用于分配一个pesudo-tty,两个选项使得当前的窗口可以像一个linux的bash一样运行。第一个参数指定了使用的镜像,第二个参数指定了启动这个镜像后启用的命令,用bash启动方便我们开始第一次的探索。

Windows下使用docker装TensorFlow小记_第6张图片

(参考博客的图)


5.jupyter notebook下用TensorFlow

TensorFlow的镜像其实是带了jupyter notebook编辑器,numpy等一些库,这就方便很多了,命令行毕竟不方便。

开始试用jupyter的时候坑又开始了。

看网上说在浏览器登录:localhost:8888就可以用jupyter,试了n遍不行。

用指令docker-machine ls看虚拟机的地址,是192.168.99.100:2376,在浏览器输了也没成功。 

后来试了网上找到的以下方法成功了,先设置以下虚拟机的网络:

Windows下使用docker装TensorFlow小记_第7张图片


然后在命令行内输入:docker run -it-p 8888:8888 tensorflow/tensorflow

查了下-p的意思,是这样的:

Windows下使用docker装TensorFlow小记_第8张图片

如果使用-p或者-P,那么container会开发部分端口到host,只要对方可以连接到host,就可以连接到container内部。当使用-P时,docker会在host中随机从49153 和65535之间查找一个未被占用的端口绑定到container。你可以使用docker port来查找这个随机绑定端口。(网上说明)

这么一设置以后,果然可以了,在浏览器里输入:localhost:8888或者192.158.99.100:8888,都可以在用jupyter了。

Windows下使用docker装TensorFlow小记_第9张图片



最后特别感谢冯立和宁缺两个小伙伴,告诉了我docker的一些用法,TensorFlow镜像的知识,还有的东西,十分感谢。


参考资料:

1.http://www.itdadao.com/articles/c15a659981p0.html

2.http://www.jianshu.com/p/fbb16a40fac9

3.http://blog.csdn.net/neilron/article/details/51387161

4.http://www.cnblogs.com/huidong/p/5426556.html

5.http://www.neilron.xyz/set-up-docker-on-windows/#port




你可能感兴趣的:(deep,learning)