溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker Machine如何創(chuàng)建Azure虛擬主機(jī)

發(fā)布時(shí)間:2022-05-25 14:47:50 來(lái)源:億速云 閱讀:173 作者:iii 欄目:大數(shù)據(jù)

本文小編為大家詳細(xì)介紹“Docker Machine如何創(chuàng)建Azure虛擬主機(jī)”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Docker Machine如何創(chuàng)建Azure虛擬主機(jī)”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

準(zhǔn)備

我們的目標(biāo)是通過 docker machine 在 azure 上面創(chuàng)建一臺(tái)安裝了 docker 的虛擬主機(jī)。因?yàn)?azure 上的所有資源都必須通過訂閱賬號(hào)才能授權(quán)使用,所以我們首先得準(zhǔn)備一個(gè) azure 的訂閱賬號(hào)。國(guó)內(nèi)的 azure 一直在搞一元試用的活動(dòng),趕快去申請(qǐng)一個(gè)吧!

azure 建議我們把資源通過 resource group 組織起來(lái)。為了演示方便,我們新創(chuàng)建一個(gè)名為 nickcontainer 的 resource group 存放將要?jiǎng)?chuàng)建的虛機(jī):

Docker Machine如何創(chuàng)建Azure虛擬主機(jī)

此時(shí) resource group 中還沒有任何內(nèi)容。

創(chuàng)建云端虛機(jī)

使用 docker machine,一個(gè) 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

使用國(guó)內(nèi) azure 的用戶請(qǐng)把參數(shù) --azure-environment azurepubliccloud 修改為 --azure-environment azurechinacloud。
執(zhí)行上面的命令,首先會(huì)驗(yàn)證我們是否有權(quán)限訪問 azure 進(jìn)行操作:

Docker Machine如何創(chuàng)建Azure虛擬主機(jī)

這時(shí)執(zhí)行流程停住了,上圖的輸出中說的很明確,需要在瀏覽器中訪問 https://aka.ms/devicelogin,然后輸入一個(gè)驗(yàn)證碼:

Docker Machine如何創(chuàng)建Azure虛擬主機(jī)

填入驗(yàn)證碼并繼續(xù):

Docker Machine如何創(chuàng)建Azure虛擬主機(jī)

在此處輸入你的訂閱賬號(hào)和密碼就可以進(jìn)完成身份驗(yàn)證了:

Docker Machine如何創(chuàng)建Azure虛擬主機(jī)

此時(shí)身份認(rèn)證過程已經(jīng)完成,可以關(guān)掉瀏覽器了?;氐絼偛诺拿钚?,發(fā)現(xiàn)又接著往下執(zhí)行了。整個(gè)過程大概需要幾分鐘,直到輸出下面的內(nèi)容:

Docker Machine如何創(chuàng)建Azure虛擬主機(jī)

讓我們看看虛機(jī) testvmtigger 的狀態(tài):

Docker Machine如何創(chuàng)建Azure虛擬主機(jī)

已經(jīng)處于 "runing" 狀態(tài),連上 docker daemon 試試:

Docker Machine如何創(chuàng)建Azure虛擬主機(jī)

可以看到服務(wù)器端的版本是 17.05.0-ce,遠(yuǎn)高于本地客戶端的版本。

再讓我們回到 azure 的 portal 上,看看 resource group 中新創(chuàng)建了哪些內(nèi)容:

Docker Machine如何創(chuàng)建Azure虛擬主機(jī)

一看嚇一跳,怎么這么多東西?其實(shí)玩過 azure 虛機(jī)的同學(xué)都知道,當(dāng)我們創(chuàng)建一臺(tái)虛機(jī)的同時(shí)會(huì)創(chuàng)建這臺(tái)虛機(jī)依賴的所有資源,比如存儲(chǔ)、虛擬網(wǎng)絡(luò)、網(wǎng)絡(luò)安全組、可用性集合、網(wǎng)卡、公有ip地址等等。這里我們只關(guān)心兩點(diǎn)(上圖中的紅框框)就足夠了:第一,虛機(jī)被成功創(chuàng)建了;第二,所有資源的區(qū)域都在東亞。

經(jīng)過一輪檢查,我們可以確定 create 命令很好的完成了任務(wù):在 azure 上創(chuàng)建了虛機(jī),并且安裝了 docker 環(huán)境。下面我們解釋一下 create 命令中主要的幾個(gè)參數(shù)。

參數(shù)詳解

--driver azure
driver 參數(shù)告訴 docker machine 我們操作的對(duì)象在 azure 云上,需要使用 azure 相關(guān)的接口來(lái)進(jìn)行操作。

--azure-environment azurepubliccloud
其實(shí)存在多套相互獨(dú)立的 azure 云環(huán)境,比如國(guó)內(nèi)的。所以需要用這個(gè)參數(shù)來(lái)指定具體的 azure 云環(huán)境。默認(rèn)值是 azurepubliccloud,指向我們說的 azure 國(guó)際版。連接國(guó)內(nèi)版需要指定為 azurechinacloud。

--azure-subscription-id xxxxxxxxxxxxxxxxxxxxxxxxxx
這個(gè)是與你賬號(hào)關(guān)聯(lián)的訂閱 id,azure 內(nèi)部的操作都是依賴于這個(gè) id 的。

--azure-location "east asia"
azure 在全球各地部署了很多的數(shù)據(jù)中心,我們可以通過 location 指定創(chuàng)建的資源所在的位置。這個(gè)位置當(dāng)然是越靠近用戶越好,國(guó)內(nèi)的國(guó)際版用戶選擇東亞稍微好一點(diǎn)。

--azure-size standard_a0
azuer 根據(jù)不同的 size(其實(shí)就是配置)對(duì)虛擬機(jī)進(jìn)行收費(fèi),demo 中選擇的 standard_a0 大概是這個(gè)樣子:

Docker Machine如何創(chuàng)建Azure虛擬主機(jī)

雖然配置不高,但作為 demo 來(lái)說已經(jīng)足夠用了。ms 提供了非常豐富的 size 可供選擇,如果你要?jiǎng)?chuàng)建生產(chǎn)環(huán)境的虛機(jī)實(shí)例,可能需要選擇每個(gè)月幾十到幾百美金的實(shí)例。

--azure-image canonical:ubuntuserver:16.04.0-lts:latest
對(duì)于生產(chǎn)環(huán)境來(lái)說,虛機(jī)的鏡像是至關(guān)重要的。demo 中使用了 ubuntu server 16.04 的鏡像,當(dāng)然我們可以在這里指定 azure 支持的任何虛擬機(jī)鏡像。這點(diǎn)可比只能使用 boot2docker 的驅(qū)動(dòng)強(qiáng)多了!

--azure-ssh-user nick
可以通過 ssh 登錄到虛擬機(jī)中的用戶,讓我們?cè)囈幌拢?/p>

Docker Machine如何創(chuàng)建Azure虛擬主機(jī)

直接以用戶 nick 登錄成功了,其實(shí) docker machine 已經(jīng)為這個(gè)用戶配置了通過秘鑰登錄的相關(guān)信息。

--azure-resource-group nickcontainer
新創(chuàng)建的資源所屬的 resource group。

清除資源

docker machine 不僅可以創(chuàng)建虛機(jī),還可以管理虛機(jī)。所謂的管理,僅僅是能夠 stop、start 和 restart 嗎?答案是可以有更多的功能,但是需要相關(guān)驅(qū)動(dòng)的支持。比如 rm 命令,對(duì)于 azure 驅(qū)動(dòng)來(lái)說,它是可以把剛才創(chuàng)建那一坨東西幾乎全部干掉的!執(zhí)行下面的命令:

$ docker-machine rm testvmtigger

這是一個(gè)很危險(xiǎn)的操作,所以會(huì)有一個(gè)確認(rèn)執(zhí)行的步驟,然后就真的把 azure 上的資源給干掉了(除了存儲(chǔ)部分):

Docker Machine如何創(chuàng)建Azure虛擬主機(jī)

讀到這里,這篇“Docker Machine如何創(chuàng)建Azure虛擬主機(jī)”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI