Docker現(xiàn)在有多火我這里就不說(shuō)了,但是對(duì)于Mac用戶來(lái)說(shuō),運(yùn)行Docker一直都不是很舒心的事,從一開始的DOCKER TOOLBOX使用VirtualBox來(lái)運(yùn)行一個(gè)linux虛擬機(jī),然后在虛擬機(jī)上安裝docker,將docker client的連接設(shè)置成虛擬機(jī)的docker服務(wù)地址,使用起來(lái)和在本地安裝docker差不多,但需要安裝VirtualBox、?虛擬機(jī),這樣總感覺不是太爽,并且占用系統(tǒng)空間較大(7G左右)。
目前官方推出了最新的DOCKER FOR MAC,號(hào)稱“OS X native virtualization”,在文件系統(tǒng)、網(wǎng)絡(luò)的使用上體驗(yàn)好了很多,但心里陰影也有不小的面積,因?yàn)槲业腗ac存儲(chǔ)空間太小,才256G,隨便裝幾個(gè)軟件就告警,空間嚴(yán)重不足。
如何使用阿里云來(lái)運(yùn)行Docker呢?借助Docker Machine,可以極大的簡(jiǎn)化安裝Docker環(huán)境,我們只需要開發(fā)好一個(gè)阿里云的docker machine驅(qū)動(dòng),就可以通過(guò)一條命令行就完成docker運(yùn)行環(huán)境的安裝,配置好docker命令行工具后,和在本地使用一樣Docker。
接下來(lái)就開始我們的干貨之旅。
安裝Docker ?Machine
直接安裝Docker Toolbox,默認(rèn)會(huì)包括Machine一起安裝,下載地址:https://www.docker.com/products/docker-toolbox。具體的安裝過(guò)程就不說(shuō)了,全是“下一步”。
安裝Docker Machine Aliyun Drivier
目前Docker Machine默認(rèn)的安裝包里不包括aliyun的驅(qū)動(dòng),我們?cè)陂_發(fā)云平臺(tái)的時(shí)候開發(fā)了一個(gè)相應(yīng)的驅(qū)動(dòng),詳見:https://github.com/venusource/docker-machine-aliyun,詳細(xì)的安裝過(guò)程見github項(xiàng)目的ReadMe。這里就不詳述了。
配置Docker Machine
在使用阿里云之前需要先配置阿里云的ACCESS KEY ID和ACCESS KEY SECRET,將其導(dǎo)入系統(tǒng)環(huán)境變量。
export ECS_ACCESS_KEY_ID="your access key id"
export ECS_ACCESS_KEY_SECRET="your access key secret"
然后就可以直接使用了,執(zhí)行如下命令,將會(huì)在阿里云上啟動(dòng)一個(gè)虛擬機(jī),然后安裝docker。
docker-machine create --driver=aliyun aliyuntest
如下圖所示:

整個(gè)過(guò)程就是:
- 創(chuàng)建安全組
- 新建虛擬機(jī)ECS
- 配置SSH無(wú)密碼訪問(wèn)
- 安裝Docker
- 配置Docker ssl連接
整個(gè)過(guò)程會(huì)因?yàn)楦鞣N因素比較慢,安裝docker過(guò)程中還會(huì)因?yàn)榫W(wǎng)絡(luò)原因(你懂的)安裝失敗。如果報(bào)錯(cuò)的話,執(zhí)行如下命令重試:
docker-machine regenerate-certs aliyuntest
如果一切都沒問(wèn)題的話,執(zhí)行如下命令更換本地docker client的相關(guān)連接和認(rèn)證信息。
eval "$(docker-machine env aliyuntest)"
現(xiàn)在你就可以和正常使用Docker一樣了。執(zhí)行如下命令試試hello-world吧:
docker run hello-world
執(zhí)行如下圖所示:

OK,是不是和在本地linux上使用docker一樣?
阿里云可是按時(shí)計(jì)費(fèi)的哦,使用完一定要把它刪除,如果不刪除你的銀子沒了可別來(lái)找我。

怎么樣?感覺爽吧?至少我現(xiàn)在已經(jīng)不在Mac本上跑Docker,全用docker machine啟阿里云的ECS??梢栽谖覀兊拿钚泻竺婕由?-region-id = us-west-1,這樣我們啟動(dòng)的阿里云ECS是美國(guó)機(jī)房的,下載各種docker鏡像超級(jí)快。
最后再告訴一個(gè)快速登錄阿里云服務(wù)器的命令:
docker-machine ssh aliyuntest
是不是很方便,都不用輸入密碼的。
這臺(tái)機(jī)器可以成為您在云端的開發(fā)用機(jī)了,特別適用于像我這樣的使用mac的linux開發(fā)人員。
看完文章有收獲的話記得打賞、關(guān)注、點(diǎn)贊哦!
CJ推薦:
IOS APP開發(fā)常用的幾個(gè)命令行工具
使用GitLab來(lái)實(shí)現(xiàn)IOS項(xiàng)目的持續(xù)集成CI
互聯(lián)網(wǎng)+時(shí)代的全新軟件(產(chǎn)品)交付模式
程序員的編輯器-VIM(愛就是愛)
向開源社區(qū)貢獻(xiàn)您的代碼
在github上寫博客
DevOps是什么東東?
js依賴管理工具bower
JS模塊化編程-requirejs