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

数据分析及机器学习环境配置(docker极简入门指南)

2017-08-24 09:42 661 查看
做数据科学一般需要用到类似XGBOOST、TensorFlow之类的库,这些库在win下不是那么好安装的,但是很多人又需要它们,那怎么办呢,最简单的就是用docker的方式,不仅具备一个linux虚拟环境,还可以同时使用windows。
它其实是一个相当易用的软件,本文不教太多命令,因为我也不会,只会讲几个基本命令。本文就讲讲如何在win10下如何安装使用docker


一:docker是什么?

docker是什么,官方说这叫容器,但确实难以理解,入门的把它理解为轻量级虚拟机就好


二:为什么要用docker?

一些使用windows系统的用户在安装python库、tensorflow、xgboost等时经常遇到安装不了或者编译问题等

不用研究如何安装linux,直接在win下获得linux环境,使用强大的linux shell

解决python环境污染问题

方便保持各种包及库为最新状态,从手动更新变成docker镜像市场更新

方便结果复现,你只要指定相同的镜像版本,那么每一台机子运行环境都是一样的,不会出现把程序发给别人了,但是别人无法运行的问题。


三:docker 的简单入门教程


1. 下载安装docker

首先当然是去官网下载啦,进入Docker,点击图上的图标,我们可以看出如果用win10那么你必须要安装专业版或者旗舰版,家庭版的win10只能悲剧去和win7一样安装就docker
toolbox啦,这里就不展开讲了。默认你是win10专业版,如果你不是,那么你就变身吧……



2. 下载安装docker

这个一般就是不停的点下一步下一步,过…

如果有提示,可能是需要你开启hyper-v或者进BIOS里开启虚拟化,跟着提示来走即可


3. 启动docker


双击这个图标就运行起来了,右下角如图



4. 拉取镜像

按win+r并输入cmd后回车,打开cmd后输入以下命令拉取kaggle官方制作的一个镜像,里面封装好了xgboost、anaconda、tensorflow等常用的库及软件,而且kaggle还会不断的更新,省的自己来update。docker市场还有各种镜像,比如mysql、ubuntu等,随你挑选。

docker pull kaggle/python


要下载几个G,安心等吧,如果下不了那么就去daocloud 注册个账号弄个加速吧。


5. 建立一个文件夹来交换文件

此处我们在D盘建立一个kaggle文件夹来与虚拟机交互文件,继续在cmd中输入下面的命令进入d盘,然后新建一个文件夹叫做kaggle

cd /d d:
mkdir kaggle


那么我们的需要交互的文件夹的就钦定位“D:/kaggle”了,以后在linux中就可以直接访问win下的kaggle文件夹了


6.修改docker设置

在docker图标上右键,选择settings。在advanced中可以多分配一些资源给docker;在shared drives中选择D盘,点击apply,需要输入win10账号密码,等待docker重启完成。




7. 运行镜像

然后从镜像创建一个容器来运行,继续输入

docker run --name kaggle  -v D:/kaggle:/tmp/working/kaggle  -w=/tmp/working -p 8888:8888 -d  -it kaggle/python  jupyter notebook --no-browser --ip="0.0.0.0" --notebook-dir=/tmp/working




运行后结果如图,如果没有报错就代表成功了。简单解释一下 —name kaggle 代表我们给它起名叫kaggle;同时指定一个交换目录,把win下的d:/kaggle 映射到linux下的/tmp/working/目录;端口号都设置为8888;-d 代表在后台运行 ;jupyter notebook —no-browser 代表不用浏览器的方式运行notebook,因为我们用win10下的浏览器。


8. 进入容器找到token

现在notebook有一个安全验证,需要得到token才能使用,我们继续输入

docker exec -it kaggle bash


这样就进入linux的bash了,你可以随意输入一些shell命令,比如apt,ls,pip等等,

此次我们输入

jupyter notebook list




将token= 后面的一串字符“512bc…..4ed0”复制出来,获取token后输入

exit


退出bash


9. 运行notebook

这个时候可以使用jupyter notebook了,浏览器中输入地址

localhost:8888


访问的就是是docker里的notebook,黏贴我们刚才复制得到的token;接着新建一个notebook,然后测试一下导入库是否成功



完美~~~


10. 停止容器

如果我们不用了,可以停止容器

docker stop kaggle



11.重新启用容器

我们如果要运行之前的容器只需输入

docker start kaggle


也就是只要第一次完成了,之后就只要11-12步骤就可以启用关闭容器了,是不是非常简单。


12.更新docker(可选)

如果kaggle更新了镜像,只需要

docker pull kaggle/python


就可以用到他们提供的最新包了,当然这样的话就需要重新执行8-10步骤了,并且用docker rmi xxx 来移除掉过时的镜像。


PS

1.在win10专业版 v1607+docker V1.13.1下测试通过

2.部分C盘较小的人,可以在第7步的advanced标签下修改存放镜像的位置

3.本文采用markdown here渲染完成,有点丑

4.建议用kitmateic来管理容器,非常直观漂亮
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐