如何使用Docker快速配置数据科学开发环境(2)

能够设置checkpoint并且进行恢复。你可以往Docker镜像中安装包,然后将那个checkpoint下的环境创建成一个新的镜像。这让你能够快速撤销或者回滚配置。

运行一个Docker镜像,就相当于创建了一个Docker容器。在本文中,我们在容器中运行一个Jupyter notebook,然后通过浏览器界面来处理数据。

安装Docker

第一步就是安装Docker。Docker官方为Windows和Mac用户提供了一个简便安装过程的图形界面安装器。下面是每个操作系统的安装指南。

在安装时,你需要使用shell命令提示符(shell prompt)。shell命令提示符(shell prompt)也被称为终端或命令行,是在你的机器上通过文本界面而非图形界面运行命令的一种方式。例如,你可以在Windows系统中双击记事本就可以打开一个文本编辑器,也可以在Linux终端中输入nano达到这个目的。Docker提供了一个预先配置好的shell,可以用来运行Docker命令。请按照下面的方法操作:

Mac OS —— 从Launchpad中打开Docker Quickstart Terminal程序。。

Linux —— 打开任意bash终端,就可以使用docker命令。

Windows —— 双击桌面上的Docker QuickstartTerminal程序的图标。。

下文在提到需要运行Docker命令或输入某个命令时,你都需要使用这个shell命令提示符。

下载镜像

下一步是下载你需要的镜像。下面是我们网站(dataquestio)目前提供的数据科学开发专用镜像:

dataquestio/python3-starter —— 这个镜像已经安装好了Python 3, Jupyter notebook和许多其他流行的数据科学库,包括numpy,pandas,scipy,scikit-learn和nltk。

dataquestio/python2-starter —— 这个镜像已经安装好了Python 2, Jupyter notebook和许多其他流行的数据科学库,包括numpy,pandas,scipy,scikit-learn和nltk。

你可以通过输入docker pull IMAGE_NAME命令,下载相应的镜像。如果你想下载dataquestio/python3-starter这个镜像,那么你需要在终端输入docker pull dataquestio/python3-starter命令。输入这段命令后,程序会自动从Docker Hub下载镜像。Docker Hub与Github类似,不过却是Docker镜像的一个中枢。它会将相应的镜像文件下载至你的本地机器,这样你才能利用该镜像创建容器。

新建一个文件夹

在本地创建一个文件夹,用于存放notebooks。这个文件夹中将储存你所有的工作文件,并会持续存在于你的机器中,即使是你销毁了docker容器。在这里,我们将创建下面这个文件夹,/home/vik/notebooks。

运行镜像

镜像下载完成后,你可以通过docker run运行该镜像。我们还需要传入一些选项,确保镜像配置正确。

-p 选项用于设置虚拟机的端口,让我们可以在本地访问Jupyter notebook服务器。

-d 选项用于以detached模式运行容器,也就是作为背景进程运行。

-v 选项让我们指定在本地机器中使用哪个文件夹存储notebook。

完整的运行命令是类似这样的:docker run -d -p 8888:8888 -v /home/vik/notebooks:/home/ds/notebooks dataquestio/python3-starter。

你应该将/home/vik/notebooks更改为你用于存储文件的地址。另外,应该把dataquestio/python3-starter更改为自己喜欢的docker镜像。

执行docker run命令将会创建一个Docker容器。这是与你的本地机器相隔绝的,也可以把它看作是一台单独的电脑。在容器内部,会运行一个Jupyter notebook服务器,并可以让我们使用许多数据科学工具包。

另外,docker run命令也会在终端打印出容器的编码(container id ),在通过其他docker容器对该容器进行修改时,就必须要使用这个编码。在下文中我们称该编码为容器编码。

查看notebook服务器

如果你的系统是Linux,那么下一步非常简单——只需要在浏览器中打开localhost:8888,之后应该就能看到运行中的notebook。如果你使用的是Windows或OSX,之前也按照Docker官方安装指南进行了操作,并且安装过程中使用了docker-machine,那么本地机器的名称是default,运行docker-machine ip default命令就可以得知docker容器的ip。如果使用了其他的名字,例如dev,那在命令中将default替换为dev即可。接下来,在浏览器中访问CONTAINER_IP:8888就可以看到notebook(将CONTAINER_IP替换为你的容器编码)。

下面就是你应该看到的样子

创建一个notebook

到了这一步,你可以创建一个新的Jupyter notebook测试下这个孤立的开发环境。试试输入下面这个scikit-learn的例子

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/5598d92bb40ae7035cfd9defb2aa201c.html