Docker生態系三大工具包括Docker Compose、Docker Machine以及Docker Swarm。上期文章介紹過Docker Compose,本期接著說明Docker Machine的應用。先示範如何在VirtualBox上建立虛擬機,然後介紹怎樣在微軟Azure雲端服務上建立Docker虛擬機。
前篇示範過Docker Compose使用,請參閱「部署Docker Compose 實例示範定義檔撰寫」(http://www.netadmin.com.tw/article_content.aspx?sn=1712060002)內容的說明。
整個Docker生態系三大工具還有Docker Machine和Docker Swarm,相關簡介請見「Docker工具新手入門 用指令熟悉容器生命週期」(http://www.netadmin.com.tw/article_content.aspx?sn=1708010003)一文,本文將接著示範Docker Machine新增維護容器虛擬機工具。
Docker Machine簡介
在第一篇Docker系列文章「輕量虛擬化改寫IT歷史 Docker容器技術細說從頭」中,比較過容器與虛擬機的差異,在目前基礎架構平台或是雲端服務平台,仍然是以虛擬化技術為主流。
圖1的左邊便是虛擬化的架構圖,在實體主機上安裝虛擬層(Hypervisor)軟體,在其之上執行多個客體作業系統和應用系統,中間是容器式架構,直接用Docker取代虛擬層的角色,由於虛擬化技術仍較成熟,隔離性和系統快照備份在企業基礎架構和雲端平台已有完整解決方案和產品,因此實務上多採圖1右邊虛擬化結合容器技術的架構圖。
|
▲圖1 應用系統執行環境的三種架構圖。 |
而Docker Machine的用途就是在各種虛擬化平台(VMware vSphere、Microsoft Hyper-V、Oracle VirtualBox等)上,迅速建立已內建Docker Engine的虛擬機,只需「docker-machine create」一行指令並修改其參數,就能適用所有虛擬化平台和雲端服務,無須學習各種雲端平台和虛擬平台API,節省建立虛擬機和安裝Docker Engine的時間。
安裝Docker Machine
Docker Machine支援Linux、Windows和macOS平台,且必須安裝好Docker Engine。Windows和macOS平台已內建Docker Toolbox(https://docs.docker.com/toolbox/),若是Linux環境則執行下列指令,完成後即可使用,可參考官方文件(https://docs.docker.com/machine/install-machine/)的說明:
在VirtualBox上建立虛擬機
先安裝好VirtualBox(https://www.virtualbox.org/)環境,接著輸入「docker-machine create -d virtualbox vbox-01」指令,就可以建立一台名為「vbox-01」的虛擬機,其中「-d virtualbox」代表使用VirtualBox,也可以輸入「--driver virtualbox」來替代,整個執行過程如圖2所示。
|
▲圖2 Docker Machine執行過程。 |
完成後開啟VirtualBox,如圖3所示即可看到有一台「vbox-01」虛擬機正在執行中。
|
▲圖3 VirtualBox操作畫面。 |
在微軟Azure上建立虛擬機
示範過虛擬化工具,接著介紹Docker Machine亦可在雲端服務上建立Docker虛擬機。首先找到Azure Subscriptions訂用帳戶識別碼,如圖4所示,然後輸入「docker-machine create --driver azure --azure-subscription-id YOUR_SUBSCR --azure-location eastus --azure-open-port 80 azure-docker-vm1」,其「--azure-subscription-id」參數後面須輸入訂用帳戶識別碼,「--azure-location eastus」用來指定使用哪個地區的機房,eastus代表美國東部,而「--azure-open-port 80」宣告防火牆開通80連接埠。
|
▲圖4 Azure訂用帳戶畫面。 |