寫在前面
幹嘛要做一個這麼自找麻煩的方式?
其實自己有一台mac,在docker當局發布了mac 原生版後,基本上幾分鐘就搞定了mac版本.但是看著旁邊的筆電 vx-15 i7版,他的cpu能力是甩macbook pro 2012好幾條街,不來跑個vm或docker就太可惜了,就動了這無聊的念頭…後來覺得…真他媽的自虐..
1.為什麼要用vmware player?
因為docker的邏輯,資料跟程式要分開放,如果你抓了一個nginx的Container,那你的web root 就應該可能大概是在一個volume裡面,這是一個好的pattern,而你要把她mount上去,最好的狀況,就是原生的docker配上最好的os,例如linux,那就直接mount上去,如果是 mac,或win 10
pro,理論上也可以(寫本文的時候,本人還沒實驗到這),但是在win 10 home…..你就得把win 10的資料夾mount到 docker內,但按照物理定律,docker是跑在linux下的,所以你要先mount到linux內,才有辦法把這個資料夾再mount到docker內,原生支援的os下是可以接搞定這事情,但win 1o home並不是原生支援的,他要用到一個東西,叫做boot2docker,基本上它就是個linux虛擬機
boot2docker 在windows 10 home下有一個奇怪的問題,就是shared folder….你要把windows 10 home 下的資料夾mount 到c下,根本天方夜譚,大概是小弟資質駑鈍,測不出一個方式可以把它放上去,說實話,心中充滿了不爽,後來想想,vmwarwe player也是可以分享folder,如果變成這樣
docker<-vm<-win10
應該是可行,這樣所有的docker指令都可以用,而且不用在win10裏頭,執行噁心的win git….
想一想還有點小興奮呢~~
個人對boot2docker在win下面分享的設計其實非常不滿,你想想,vagrant都解決了shared folder的問題,你docker會做不到???吐血三升阿我
2.選擇linux
我一開始選擇cetnos 7,終究當初在vps上,裝epel,再下一個 yum install docker-ce,就萬事ok了,但事情不是那麼簡單,在centos 7的版本, 並不支援vmware分享功能hgfs…..
我決定…下次再研究
於是我換了對docker友好的ubuntu…但因為范建…所以先用了linux mint 18.x…於是乎,我遇到了一個新的問題…
yes…
linux mint 本身在vmware裏頭的folder share 功能是正常,他可以auto mount…但有一個致命的問題,就是我不知道要選擇哪一個版本號….
在ubuntu 的世界裏頭,不同的版本代號要選不同的docker庫…這時候,分支散開許多的ubuntu就顆顆了,光是ubuntu自己都會遇到問題,如果你的ubuntu太新或太舊,都無法安裝docker….
最後,參考網路上的意見 選擇了
- Xenial 16.04 (LTS)
這個長期支援版本
以下是安裝紀錄
先設定好她的shared folder ,然後打patch上去,這個版本也要打patch才可以用vmware的folder….
$ git clone https://github.com/rasa/vmware-tools-patches.git
$ cd vmware-tools-patches
$ ./patched-open-vm-tools.sh
重開機,先確認shared folder有沒有辦到 再來裝上https
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
安裝GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
驗證
sudo apt-key fingerprint 0EBFCD88
如果出現
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
那就ok
安裝repository
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
安裝好以後 就可以安裝docker(突然懷念起centos 7..)
先更新到最新版本
sudo apt-get update
依指令安裝
sudo apt-get install docker-ce
測試
sudo docker run hello-world
如果出現
Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.
就大功告成啦~~
這是有關於windows 7 ,windows 10 home版本 安裝vmwere+shared folder 跑docker 的測試
下一篇文章,將要裝上laradock,並且進行成果測試