數據科學家Docker歷險記(1):windows下環境搭建


原文:http://www.xueqing.tv/cms/article/247

Docker是最近炒得很火熱的一門技術,在網上可以找到關於它的介紹文章,比如《Docker到底是什么?為什么它這么火!》《開發漫談:千萬別說你不了解Docker!》。但這些文章都是從IT開發人員的角度來介紹的,讓我們這些搞數據分析的人摸不着頭腦。

其實Docker技術也可以用在數據分析和數據產品的開發中,比如Harry Zhu寫的打造數據產品的快速原型:Shiny的Docker之旅,以及肖楠在統計之都海外沙龍介紹的用docker技術和R做可重復研究的liftr包

個人覺得,Docker技術能給數據科學家帶來的好處之一,是能夠幫助我們快速搭建分析中所用到的環境,小到不同版本的R,大到hadoop、Spark集群

本系列文章其實就是想從數據科學家的角度,跟大家一起來探索Docker技術。第一篇講的是在Windows下搭建Docker環境,后面將陸續講解怎么用Docker搭建RStudio Server、Hadoop、Spark等環境

文章末尾還有配套的視頻教程,里面有更多細節的演示。

下載安裝Docker Toolbox

Docker Toolbox的官方網站是https://www.docker.com/products/docker-toolbox,選Windows版的下載,如果下載不了,可以點這里下載。

下載完之后,雙擊程序,開始安裝,跟其他軟件的安裝一樣,但有一點需要注意,當出現下面的畫面時,要把 Install VirtualBox with NDIS5 driver[default NDIS6] 這個選項勾上

配置Git Bash

安裝Docker Toolbox時安裝的Docker Quickstart Terminal和Kitematic圖形界面並沒有用,我們就別折騰了,還是用Git Bash來啟動Docker吧。在安裝Docker Toolbox時也同時安裝了Git for Windows,我們現在只會用到里面的Git Bash,它是類似Linux的命令行終端,在里面可以用很多Linux命令,比如ls、mv等,對Linux命令不熟的可以看看我們網站上的《Linux命令行入門》課程。在開始菜單里可以看到Git Bash的快捷方式

在使用Docker前,要先創建docker machine,它其實是台虛擬機,不過在使用它的時候,你可能根本察覺不出來它是虛擬的。默認情況下,docker machine的所有文件都會保存在用戶的根目錄下,一般是在C盤,如果就用默認的位置,C盤的空間會越來越小,所以最好還是換個地方。

我們要修改Bash的配置文件來修改默認的docker machine保存位置,打開Bash以后,執行notepad .bash_profile,會調用記事本打開配置文件.bash_profile,如果不存在該文件,就選擇新建這個文件。(這里假設你不會用bash里的編輯器vim,如果你會用vim,就執行命令vim .bash_profile )

假設我想把docker machine保存在D:\docker,那么先新建這個目錄,然后在.bash_profile里添加下面這行

export MACHINE_STORAGE_PATH='D:\docker'

創建docker machine

在使用docker的時候,會需要從docker的網站下載鏡像文件,下載速度可能會很慢。還好阿里雲為我們提供了加速器。登錄阿里雲的開發者平台,進入管理中心

點左側導航欄的加速器,然后在右邊選Windows

阿里雲已經給我們提供了創建裝有docker環境的linux虛擬機的語句,但是這條語句不能直接用,因為我們在前面已經修改了虛擬機默認的位置。需要在這條命令里加上 --storage-path,或者簡寫為-s,后面加上路徑,像下面這樣:

docker-machine -s "D:\docker" create --engine-registry-mirror=https://s5q5zo4h.mirror.aliyuncs.com -d virtualbox default

但是上面這條命令是我的賬號生成的,你需要自己注冊個阿里雲賬號,找到相應的命令

回到bash里執行上面的語句創建docker machine,發現因為功夫牆的阻攔,無法下載boot2docker.iso文件,程序中斷。幸好在Docker Toolbox的安裝目錄下就包含了這個文件,把它復制到D:\docker\cache

再來創建docker machine就成功了

這台docker machine創建后就啟動了,如果下次我們再打開電腦,想要啟動docker machine,可以打開Git Bash,然后執行

docker-machine start

來啟動docker machine。

進入docker環境

我們現在的Bash還在Windows里,接下來執行

docker-machine ssh default

如果看到下面的畫面,那么恭喜你,你已經進入了docker的世界!

這其實是通過ssh登錄到了VirtualBox虛擬機里的Linux系統。如果覺得Git Bash提供的終端太簡陋,你也可以用Xshell、SecureCRT等SSH工具,在Git Bash里執行

docker-machine ip default

可以看到,docker machine的IP是192.168.99.100,用SSH工具登錄它,用戶名是docker,密碼是tcuser

下一講,我會跟大家一起探索利用Docker來搭建RStudio Server環境。

Docker學習資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM