什麼是容器應用
傳統虛擬機器是對硬體資源的虛擬化
容器的虛擬化層級比虛機要高一級,它是對作業系統的虛擬化。
容器應用就是把軟體本身及依賴元件打包在一起組成的一個軟體包。它可以在安裝了容器引擎的系統上執行。
容器應用的組成方式為docker映象。docker映象可以分為多層,其最上層為可寫,其它層為只讀。如下為一個docker映象例子:
容器應用與普通應用相比,它具有如下特點:
- 系統資源使用率高
由於容器不需要進行硬體虛擬以及執行完整作業系統等額外開銷,容器對系統資源的利用率更高。
- 啟動更快
容器應用執行於宿主核心,無需啟動完整的作業系統,因此可以做到秒級、甚至毫秒級的啟動時間。
- 執行環境始終保持如一
開發過程中一個常見的問題是環境一致性問題。容器應用提供了除核心外完整的執行時環境,確保了應用執行環境一致性。
- 遷移輕鬆
容器執行時確保了執行環境的一致性,因此應用的遷移更加容易。
- 維護和擴充套件輕鬆
容器引擎使用的分層儲存映象,使得應用重複部分的複用更為容易,也使得應用的維護更新更加簡單,基於基礎映象進一步擴充套件映象也變得非常簡單。
對容器應用快速測試
測試流程如下所示:
Azure 容器例項是一種解決方案,它提供了託管無伺服器方式容器應用的執行方案。它提供了執行容器的最簡捷的方式,你不用管理虛機,也不用管理其它的服務環境。
下面我們看一下如何快速對一個容器應用進行快速的部署測試:
- 準備資源。
登入之後,我們首先建立一個資源組。
az group create --name acitest --location eastus
- 部署應用。
即把我們的應用放到容器倉庫中去,然後開始部署。我們需要記下輸出中的fqdn的內容:
az container create --resource-group acutest --name mycontainer --image mcr.microsoft.com/
azuredocs/aci-helloworld --dns-name-label aci-my-demo --ports 80
- 開始測試。
- 刪除資源,結束測試。
az group delete --name acitest
常見問題
1. 我的測試應用需要訪問內網資源,請問可以麼?
答:Azure容器例項支援虛擬網路,可以訪問內網資源。請參見:
https://docs.microsoft.com/zh...
2. Azure容器例項支援Windows容器麼?
答:支援。Azure容器例項支援如下Windows Server 2016和Windows Server 2019。更多資訊請參考:
https://docs.microsoft.com/zh...
3. Azure容器例項在中國區有麼?
答:目前我們在東二區已經推出Azure容器例項。
4. Azure容器例項支援哪些容器登錄檔?
答:Azure容器例項支援docker hub, Azure Container Registry以及第三方的登錄檔。這些登錄檔必須能從網際網路訪問。
5. 我的測試環境比較費資源,可能要用數千個CPU核心,我可以用Azure容器例項進行測試麼?
答:某些情況下是可以的,但需要您聯絡技術支援個案處理。 更多資訊請參考: