您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Docker Machine如何創建Azure虛擬主機”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Docker Machine如何創建Azure虛擬主機”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
準備
我們的目標是通過 docker machine 在 azure 上面創建一臺安裝了 docker 的虛擬主機。因為 azure 上的所有資源都必須通過訂閱賬號才能授權使用,所以我們首先得準備一個 azure 的訂閱賬號。國內的 azure 一直在搞一元試用的活動,趕快去申請一個吧!
azure 建議我們把資源通過 resource group 組織起來。為了演示方便,我們新創建一個名為 nickcontainer 的 resource group 存放將要創建的虛機:
此時 resource group 中還沒有任何內容。
創建云端虛機
使用 docker machine,一個 create 命令就能搞定:
docker-machine create \ --driver azure \ --azure-environment azurepubliccloud \ --azure-subscription-id xxxxxxxxxxxxxxxxxxxxxxxxxx \ --azure-location "east asia" \ --azure-size standard_a0 \ --azure-image canonical:ubuntuserver:16.04.0-lts:latest \ --azure-ssh-user nick \ --azure-resource-group nickcontainer \ --azure-availability-set testvmtiggeras \ testvmtigger
使用國內 azure 的用戶請把參數 --azure-environment azurepubliccloud 修改為 --azure-environment azurechinacloud。
執行上面的命令,首先會驗證我們是否有權限訪問 azure 進行操作:
這時執行流程停住了,上圖的輸出中說的很明確,需要在瀏覽器中訪問 https://aka.ms/devicelogin,然后輸入一個驗證碼:
填入驗證碼并繼續:
在此處輸入你的訂閱賬號和密碼就可以進完成身份驗證了:
此時身份認證過程已經完成,可以關掉瀏覽器了。回到剛才的命令行,發現又接著往下執行了。整個過程大概需要幾分鐘,直到輸出下面的內容:
讓我們看看虛機 testvmtigger 的狀態:
已經處于 "runing" 狀態,連上 docker daemon 試試:
可以看到服務器端的版本是 17.05.0-ce,遠高于本地客戶端的版本。
再讓我們回到 azure 的 portal 上,看看 resource group 中新創建了哪些內容:
一看嚇一跳,怎么這么多東西?其實玩過 azure 虛機的同學都知道,當我們創建一臺虛機的同時會創建這臺虛機依賴的所有資源,比如存儲、虛擬網絡、網絡安全組、可用性集合、網卡、公有ip地址等等。這里我們只關心兩點(上圖中的紅框框)就足夠了:第一,虛機被成功創建了;第二,所有資源的區域都在東亞。
經過一輪檢查,我們可以確定 create 命令很好的完成了任務:在 azure 上創建了虛機,并且安裝了 docker 環境。下面我們解釋一下 create 命令中主要的幾個參數。
參數詳解
--driver azure
driver 參數告訴 docker machine 我們操作的對象在 azure 云上,需要使用 azure 相關的接口來進行操作。
--azure-environment azurepubliccloud
其實存在多套相互獨立的 azure 云環境,比如國內的。所以需要用這個參數來指定具體的 azure 云環境。默認值是 azurepubliccloud,指向我們說的 azure 國際版。連接國內版需要指定為 azurechinacloud。
--azure-subscription-id xxxxxxxxxxxxxxxxxxxxxxxxxx
這個是與你賬號關聯的訂閱 id,azure 內部的操作都是依賴于這個 id 的。
--azure-location "east asia"
azure 在全球各地部署了很多的數據中心,我們可以通過 location 指定創建的資源所在的位置。這個位置當然是越靠近用戶越好,國內的國際版用戶選擇東亞稍微好一點。
--azure-size standard_a0
azuer 根據不同的 size(其實就是配置)對虛擬機進行收費,demo 中選擇的 standard_a0 大概是這個樣子:
雖然配置不高,但作為 demo 來說已經足夠用了。ms 提供了非常豐富的 size 可供選擇,如果你要創建生產環境的虛機實例,可能需要選擇每個月幾十到幾百美金的實例。
--azure-image canonical:ubuntuserver:16.04.0-lts:latest
對于生產環境來說,虛機的鏡像是至關重要的。demo 中使用了 ubuntu server 16.04 的鏡像,當然我們可以在這里指定 azure 支持的任何虛擬機鏡像。這點可比只能使用 boot2docker 的驅動強多了!
--azure-ssh-user nick
可以通過 ssh 登錄到虛擬機中的用戶,讓我們試一下:
直接以用戶 nick 登錄成功了,其實 docker machine 已經為這個用戶配置了通過秘鑰登錄的相關信息。
--azure-resource-group nickcontainer
新創建的資源所屬的 resource group。
清除資源
docker machine 不僅可以創建虛機,還可以管理虛機。所謂的管理,僅僅是能夠 stop、start 和 restart 嗎?答案是可以有更多的功能,但是需要相關驅動的支持。比如 rm 命令,對于 azure 驅動來說,它是可以把剛才創建那一坨東西幾乎全部干掉的!執行下面的命令:
$ docker-machine rm testvmtigger
這是一個很危險的操作,所以會有一個確認執行的步驟,然后就真的把 azure 上的資源給干掉了(除了存儲部分):
讀到這里,這篇“Docker Machine如何創建Azure虛擬主機”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。