版权声明:本文为博主原创文章,欢迎转载分享,请注明本文出自Bin的专栏:http://blog.csdn.net/xbinworld https://blog.csdn.net/xbinworld/article/details/78945879
上两周心血来潮想在自己的Surface(Win10 Home系统)上用TensorFlow和Python,但是安装实在是太麻烦了…就想到能不能在Windows上用docker直接运行linux环境的TensorFlow?网上一查还真有,然后很开心的下载安装…谁知进入了一个超级大坑T_T,经过断断续续几次的研究(折腾)终于在今天搭建完成环境,在本文中给一个详细的教程,帮助大家少走弯路~!
这是一个2018年的新年礼物!
1、下载Docker Toolbox for Windows,安装VirtualBox
https://docs.docker.com/toolbox/overview/
推荐用迅雷下载,或者其他下载软件下载,用IE下载会让人抓狂的…一开始我下载了Docker for Windows,安装的时候才发现我的系统是Windows10 home版本不能装!需要Win10 Pro版才能装,那么大概以下的Win7/8这些都是不能装的,所以大家一般都跟我装的一样就行了,下载Docker Toolbox for Windows。
安装比较简单,基本按照这样点:
装完后就有:
这里就有一个大坑天坑啊,从docker官网上下载下来自带安装的VirtualBox是5.2版本,我用了以后所有装好的虚拟机点“设置”或者网络之类的选项,就直接VirtualBox无响应了,虽然虚拟机是起来的(可以在命令行界面操作,但是不能配置网络就没办法后面配置转发,那么在主机Win10环境下就不能访问linux虚拟机里面跑的docker container起的Jupyter…这样编程就很不方便了..)作为有一点点强迫症的我是很不能接受的。所以呢,我就又单独删掉了上面安装的VirtualBox,下载了最新版本的VirtualBox 5.2.4,地址:
http://download.virtualbox.org/virtualbox/5.2.4/VirtualBox-5.2.4-119785-Win.exe
然后呢,就可以往下走啦…还有好几个坑
2、安装、启动虚拟机
因为我们安装的是Docker Toolbox,所以本质上Docker并不是安装在Windows上的,而是安装在虚拟机上的,所以需要先装一个虚拟机。而这个虚拟机安装很方便,不需要单独去准备Linux的镜像,因为Docker版本有对应的boot2docker镜像。
点击Docker Quickstart Terminal图标后,一般会出现下图(图片借用[1],这一段我忘记截图了),提示要么就是Boot2docker iso找不到,或者是out-of-date;它去找的路径一般是C:\Users\XXXXXX.docker\machine\cache,其中XXXXXX是你的电脑用户名,
它自己也会下载,但是极慢,所以关掉Docker Quickstart Terminal,根据前面屏幕提示自行用下载软件去https://github.com/boot2docker/boot2docker/releases/download/v17.12.0-ce/boot2docker.iso
下载最新版本(可以根据上面屏幕的提示下载,我这个地址可能过几天也会旧的),并放到路径下:
重新启动Docker Quickstart Terminal,下面这样就正常了:
然后你就可以看见起了一个叫default的虚拟机,IP地址是192.168.99.100(我这里是,可能你的不一定完全一样,没关系。可以在win下面ping通的)
OK,到这里docker就安装好了,大家可以用docker啦,后面就开始使用TensorFlow了。docker下用TensorFlow是一样的,所以有经验的同学应该很快就搞定。
简单科普一下Docker的使用命令,这里就先不展开啦http://www.docker.org.cn/dockerppt/106.html
3、安装TensorFlow
根据你需要下载的镜像,先在docker hub上搜索一下,比如我要搜索TensorFlow,只要输入docker search tensorflow
然后pull第一个官方的镜像到本地
docker pull tensorflow/tensorflow
这里直接这样做没问题,但是速度极慢,主要是镜像都在国外,所以推荐使用docker加速器,下面这个是免费的,速度很快,很赞!https://www.daocloud.io/mirror#accelerator-doc
点进去,注册id以后就可以看到镜像加速地址了,记下地址,然后在终端中依次打入下面四条命令(替换其中的加速地址),想要拷贝命令见文末的小贴士。
docker-machine ssh default
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile
exit
docker-machine restart default
1
2
3
4
这样前面的pull就飞快啦!如果你只是想用TensorFlow,或者只是测试一下前面的是不是都装好了,那么只要
docker run -it tensorflow/tensorflow bash
1
然后运行python,再看看TensorFlow简单的命令是不是OK[4]
到这里其实Python和TensorFlow已经可以用了,如果你对Linux比较熟,就可以自己安装vi这些然后开始用咯。不过这样毕竟比较复杂,所以呢我就想用Jupyter Notebook来学习TensorFlow和Python,这个环境对在windows上使用还是比较友好的。
3、安装Jupyter Notebook
这一块是较为让我头疼的,在上面花了几天时间研究(主要是之前用virtualbox版本不好,一点设置就卡死…)。
如果你是直接在Linux主机上安装docker的,就像一般的用法,
docker run -it -p 8888:8888 --name xx tensorflow/tensorflow bash
TensorFlow的镜像中在/目录下就有一个启动Jupyter服务的脚本,启动这个脚本
根据提示,只要在主机的浏览器中输入http://localhost:8888
或者用可以联网的其他机器访问http://主机IP:8888,就可以访问Jupyter了,但是呢我们是在Win10上运行了虚拟机,再在虚拟机上运行了dokcer,这样就找不到Jupyter服务了。
我们需要做的是首先stop虚拟机default:
docker-machine stop default
然后去VitualBox软件中设置网络
如果点“设置”出来这么一个提示:不能为虚拟电脑default打开一个新的任务(网上关于它的说法很多,我理解是因为在命令行中如果default已经启动了,这里想再操作就不行,要先stop),网络上[5]有一个说法是需要安装一个服务:打开网络和共享中心–> 更改适配器设置
安装好后的效果是(有两个虚拟的网络适配器,都操作一下好了):
然后我再点“设置”就正常了,根据下图进行一个端口转发配置:ssh那一行是本来就有的。基本意思是说转发虚拟机的8888端口到主机host的8888端口。
然后启动defaut虚拟机:
docker-machine start default
当然启动之前你也可以看一下状态
docker-machine ls
查看之前已经退出了docker容器,有必要的你可以删除一些不要的了容器
然后启动已经Exited的容器:
docker start xx
(xx就是前面我起的时候取的name)
docker attach xx
(回车两次)
1
2
3
4
再起一下Jupyter的服务,然后去Windows下面用浏览器访问http://localhost:8888
就可以看到了Jupyter:
可以玩Python啦
到这里基本上就差不多了,只要不把你起的name叫做xx的容器 rm掉,那么以后关机再起来之前存的一些文件就依然还在,这些文件是存放在虚拟机的虚拟存储中的,实际上也是占了一块host主机的存储,只是是放在虚拟存储文件中的。
当然,我还折腾(zuo)了一下挂载host主机文件夹到docker中,这样你在docker中修改的文件就可以直接在Host主机下看见,反过来也一样,会更方便,可以直接在windows host主机上拷贝/编辑文件,然后去docker中运行了。
6、挂载Windows磁盘
因为我们用的虚拟机,所以呢实际上我们是(1)挂载Windows的磁盘到虚拟机上,(2)然后再从虚拟机上挂载到docker容器中。
(1)挂载Windows的磁盘到虚拟机上:
我发现实际上装好虚拟机以后,系统默认是会将C:\Users挂载到虚拟机上的/c/Users,这个可以从VirtualBox的设置–共享文件夹看到的默认有的(要看的话先要docker-machine stop default):
因此我在Windows下C:\Users里面建立了一个文件夹data,然后在虚拟机下是可以看见的
其他的地址如果需要的话你在共享文件夹里面照着设置一下,据说windows暂时只支持c盘的映射,未试过,因为我的本本只有一个c盘T_T,所以我也就不设置了,直接用C:\Users就好了。
(2)从虚拟机上挂载到docker容器中
这一步需要在第一次创建Container的时候打在命令中,因此有可能前面起的docker镜像又需要重新起了(前面那些都可以rm掉咯,或者换个名字yyy多起一个),下面的命令docker run命令是本文的终极版的:
docker run -it -p 8888:8888 -v /c/Users/data/:/data --name yyy tensorflow/tensorflow bash
1
-v命令把虚拟机的/c/Users/data目录挂载到Container中的/data目录,可以看到我在Windows上C:\Users\data编辑了一个ttt.txt文件,在Container里面直接就可以看见了:)
好了,这样就很完美啦(懒得再zuo了),大家有需要在自己的本本上玩玩TensorFlow和Python但是又不想装一大堆软件的,就试试用docker吧~~简直Perfect!
小贴士
如果不想用docker toolbox自带的命令行工具,想用类似Xshell这些工具访问虚拟机的,可以参考[6]。其中ssh 账号/密码
——docker / tcuser
很多人觉得启动Docker Toolbox terminal后,发现在该终端中,无法进行复制、粘贴等操作,使用起来非常不方便。实际上是他们不会用哈,只需要用鼠标选中要复制的内容,然后鼠标左键点窗口左上角的图标:选择编辑,复制就行了,粘贴也是类似的。
---------------------
作者:大饼博士X
来源:CSDN
原文:https://blog.csdn.net/xbinworld/article/details/78945879
版权声明:本文为博主原创文章,转载请附上博文链接!
相关推荐
在Windows 7上安装Docker应用通常涉及到使用Docker Toolbox,因为Docker的官方版本对Windows 7的支持有限。Docker Toolbox是一个包含了多个工具的集合,它为旧版Windows操作系统(如Win7和Win8)提供了运行Docker的...
pytorch 具有docker 版 并且带 jupyter_notebook , 方便测试开发。 pytorch 具有docker 版 并且带 jupyter_notebook , 方便测试开发。 pytorch 具有docker 版 并且带 jupyter_notebook , 方便测试开发。
DockerToolbox-19.03.1.exeDockerToolbox-19.03.1.exe
本文档将详细介绍在Windows环境下使用DockerToolBox安装Docker的具体步骤,以及可能遇到的一些问题及其解决方案。 #### 二、DockerToolBox安装方式 在Windows环境中安装Docker有两种主要方式: 1. **直接通过...
此存储库包含docker-compose.yml,用于定义运行Jupyter_Images下Dockerfile中描述的Jupyter Notebook映像的依赖项。 Jupyter Notebook映像有一个,基于CUDA10.0和Ubuntu18.04。 它会从Jupyterhub(由Dockerfile....
Docker Toolbox中的Docker Engine是适用于旧版Windows(不支持Hyper-V)的轻量级虚拟化解决方案。 2. **Kitematic**: Kitematic是一款直观的图形用户界面,它简化了Docker的使用,让用户可以通过拖放操作来创建、...
Docker Toolbox提供了一种在不满足Docker Desktop for Windows 应用最低系统要求的Windows系统上使用Docker的方法。 Docker Toolbox包含以下Docker工具: Docker CLI Client 用于运行Docker Engine以创建映像和容器 ...
docker toolbox for windows 用于在windows上安装docker
- **解决方案:** 这个错误通常是因为在启动 Docker 虚拟机时尝试从互联网下载最新的 Boot2Docker 映像文件时遇到网络问题。解决办法是手动下载所需的 Boot2Docker 版本,并将其放置在指定的目录下。 1. 访问 ...
Docker Toolbox是针对Windows 7或不支持Hyper-V的Windows 10版本的解决方案。它包含VirtualBox、Docker Machine、Docker Compose、Kitematic等工具。 1. **VirtualBox**:Toolbox使用VirtualBox创建一个轻量级的...
对于Windows 10以下的用户,推荐使用Docker Toolbox 在尝试安装之前,请确保您的系统具有所有最新更新。在某些情况下需要重新启动。 如果在创建虚拟机时遇到问题,可能需要先卸载virtualbox,然后再重新安装本...
想用docker toolbox,网络速度慢,下载这个资料花了一夜,传上CSDN,便利大家。
DockerToolbox是一个安装器,目前支持Mac和Windows平台
docker for window dockertoolbox
docker平台在win10家庭版上不能安装,需要下载docktertoolbox,但是官网下载太慢,特此提供此资源!希望对大家有帮助,谢谢!
dockertoolbox,docker for windows,学习docker使用,有用自取
Windows 环境下docker 开发的一套工具DockerToolbox+ChromeSetup