Docker是一種比虛擬機(jī)更輕量級的應(yīng)用程序執(zhí)行容器摔刁,受云計算技術(shù)普及以及微服務(wù)架構(gòu)的影響俄认,Docker這兩年風(fēng)聲水起电媳,成為用于管理應(yīng)用部署的最佳利器蒂阱,很多DevOps團(tuán)隊宣稱使用該技術(shù)后能極大縮減開發(fā)锻全、測試、生產(chǎn)環(huán)境切換的時間录煤,提升整體效率鳄厌。
考慮到目前很多開發(fā)人員仍是在Mac和Windows系統(tǒng)進(jìn)行開發(fā),為了方便環(huán)境的部署和管理妈踊,Docker公司近期推出了DockerToolbox工具包了嚎,可以跨平臺(Mac、Windows)使用廊营,對于想在Windows環(huán)境下體驗(yàn)容器技術(shù)并開發(fā)產(chǎn)品的程序員來說真是福音歪泳。
安裝過程很簡單,直接去官網(wǎng)下載對應(yīng)的安裝包到本地執(zhí)行安裝程序即可赘风,安裝后會自動在系統(tǒng)中打包安裝VirtualBox虛擬機(jī)(因?yàn)镈ocker依賴Linux系統(tǒng)夹囚,必須模擬Linux環(huán)境)、Docker-engine邀窃、Docker-machine荸哟、Docker-compose等組件,基本做到了即開即用瞬捕。
然后主要就是進(jìn)入命令行管理界面(安裝包會創(chuàng)建快捷方式)鞍历,執(zhí)行各種docker命令進(jìn)行工作了,我在使用過程中主要遇到了如下問題:
1肪虎、CPU虛擬化的開啟劣砍,現(xiàn)在的CPU一般都在硬件級別支持虛擬化技術(shù),但是有的可能默認(rèn)沒有打開扇救,需要到BIOS中手動開啟刑枝,查看是否開啟的方法是香嗓,在windows系統(tǒng)任務(wù)管理器的“性能”頁,是否有虛擬化已開啟的字樣装畅,當(dāng)然目前也有一些比較老的低端CPU不支持靠娱,這個就建議更換設(shè)備吧。
2掠兄、與Windows系統(tǒng)自帶的虛擬化技術(shù)Hyper-V沖突像云,專業(yè)版的Windows系統(tǒng)一般帶有虛擬化技術(shù)組件,是微軟自有的蚂夕,名叫Hyper-V(與virtual box等類似)迅诬,但是與我們要安裝的工具有沖突,需要關(guān)閉Hyper-V后才能正常使用婿牍,具體操作方法為到控制面板的“程序和功能”里面的“啟用或關(guān)閉windows功能”將Hyper-V關(guān)掉侈贷。
3、VirtualBox虛擬機(jī)網(wǎng)段IP分配沖突牍汹,這個是我遇到的特例铐维,VirtualBox會自動給用于模擬Docker環(huán)境的虛擬機(jī)分配內(nèi)網(wǎng)IP地址,且默認(rèn)為10.0.2網(wǎng)段慎菲,這個恰恰與我的工作環(huán)境存在沖突嫁蛇,而且界面中和配置文件里都沒有可配置的地方,經(jīng)過多天研究露该,終于找到通過命令行的方式將這個默認(rèn)配置可以改掉 睬棚,命令如下VBoxManage.exe modifyvm "default" --natnet1 "10.0.20.0/24"
(需要在virtualbox安裝目錄下執(zhí)行,default是虛擬機(jī)的名字解幼。)
4抑党、系統(tǒng)重啟后環(huán)境丟失(偶然發(fā)生),這個可能是工具存在bug撵摆,我在下載各種鏡像進(jìn)行測試后底靠,將我的Windows重啟后發(fā)現(xiàn)default虛擬機(jī)里的東西都丟了,這個可能是由于環(huán)境在運(yùn)行的狀態(tài)下我重啟了系統(tǒng)導(dǎo)致特铝。目前我的解決辦法是在每次關(guān)機(jī)或重啟的時候暑中,先將default虛擬機(jī)停掉,方法是在命令行下執(zhí)行如下指令docker-machine stop default
鲫剿。
總的來說鳄逾,這套工具包非常方便在windows下開發(fā)的人員,基本可以做到與容器環(huán)境的無縫對接灵莲,合理使用這一套工具包雕凹,對于我們的“持續(xù)集成”、“持續(xù)交付”等工作將有很大的促進(jìn)作用。