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