什么是容器應(yīng)用
傳統(tǒng)虛擬機(jī)是對(duì)硬件資源的虛擬化:
容器的虛擬化層級(jí)比虛機(jī)要高一級(jí),它是對(duì)操作系統(tǒng)的虛擬化。
容器應(yīng)用就是把軟件本身及依賴(lài)組件打包在一起組成的一個(gè)軟件包。它可以在安裝了容器引擎的系統(tǒng)上運(yùn)行。
容器應(yīng)用的組成方式為docker鏡像。docker鏡像可以分為多層,其最上層為可寫(xiě),其它層為只讀。如下為一個(gè)docker鏡像例子:
容器應(yīng)用與普通應(yīng)用相比,它具有如下特點(diǎn):
系統(tǒng)資源使用率高
由于容器不需要進(jìn)行硬件虛擬以及運(yùn)行完整操作系統(tǒng)等額外開(kāi)銷(xiāo),容器對(duì)系統(tǒng)資源的利用率更高。
啟動(dòng)更快
容器應(yīng)用運(yùn)行于宿主內(nèi)核,無(wú)需啟動(dòng)完整的操作系統(tǒng),因此可以做到秒級(jí)、甚至毫秒級(jí)的啟動(dòng)時(shí)間。
運(yùn)行環(huán)境始終保持如一
開(kāi)發(fā)過(guò)程中一個(gè)常見(jiàn)的問(wèn)題是環(huán)境一致性問(wèn)題。容器應(yīng)用提供了除內(nèi)核外完整的運(yùn)行時(shí)環(huán)境,確保了應(yīng)用運(yùn)行環(huán)境一致性。
遷移輕松
容器運(yùn)行時(shí)確保了執(zhí)行環(huán)境的一致性,因此應(yīng)用的遷移更加容易。
維護(hù)和擴(kuò)展輕松
容器引擎使用的分層存儲(chǔ)鏡像,使得應(yīng)用重復(fù)部分的復(fù)用更為容易,也使得應(yīng)用的維護(hù)更新更加簡(jiǎn)單,基于基礎(chǔ)鏡像進(jìn)一步擴(kuò)展鏡像也變得非常簡(jiǎn)單。
對(duì)容器應(yīng)用快速測(cè)試
測(cè)試流程如下所示:
Azure 容器實(shí)例是一種解決方案,它提供了托管無(wú)服務(wù)器方式容器應(yīng)用的運(yùn)行方案。它提供了運(yùn)行容器的最簡(jiǎn)捷的方式,你不用管理虛機(jī),也不用管理其它的服務(wù)環(huán)境。
下面我們看一下如何快速對(duì)一個(gè)容器應(yīng)用進(jìn)行快速的部署測(cè)試:
1. 準(zhǔn)備資源。
登錄之后,我們首先創(chuàng)建一個(gè)資源組。
az group create --name acitest --location eastus
2. 部署應(yīng)用。
即把我們的應(yīng)用放到容器倉(cāng)庫(kù)中去,然后開(kāi)始部署。我們需要記下輸出中的fqdn的內(nèi)容:
az container create --resource-group acutest --name mycontainer --image mcr.microsoft.com/
azuredocs/aci-helloworld --dns-name-label aci-my-demo --ports 80
3. 開(kāi)始測(cè)試。
4. 刪除資源,結(jié)束測(cè)試。
az group delete --name acitest
常見(jiàn)問(wèn)題
1. 我的測(cè)試應(yīng)用需要訪(fǎng)問(wèn)內(nèi)網(wǎng)資源,請(qǐng)問(wèn)可以么?
答:Azure容器實(shí)例支持虛擬網(wǎng)絡(luò),可以訪(fǎng)問(wèn)內(nèi)網(wǎng)資源。請(qǐng)參見(jiàn):
https://docs.microsoft.com/zh-cn/azure/container-instances/container-instances-virtual-network-concepts
2. Azure容器實(shí)例支持Windows容器么?
答:支持。Azure容器實(shí)例支持如下Windows Server 2016和Windows Server 2019。更多信息請(qǐng)參考:
https://docs.microsoft.com/zh-cn/azure/container-instances/container-instances-faq#what-windows-base-os-images-are-supported
3. Azure容器實(shí)例在中國(guó)區(qū)有么?
答:目前我們?cè)跂|二區(qū)已經(jīng)推出Azure容器實(shí)例。
4. Azure容器實(shí)例支持哪些容器注冊(cè)表?
答:Azure容器實(shí)例支持docker hub, Azure Container Registry以及第三方的注冊(cè)表。這些注冊(cè)表必須能從互聯(lián)網(wǎng)訪(fǎng)問(wèn)。
5. 我的測(cè)試環(huán)境比較費(fèi)資源,可能要用數(shù)千個(gè)CPU核心,我可以用Azure容器實(shí)例進(jìn)行測(cè)試么?
答:某些情況下是可以的,但需要您聯(lián)系技術(shù)支持個(gè)案處理。 更多信息請(qǐng)參考:
https://docs.microsoft.com/zh-cn/azure/container-instances/container-instances-quotas