關於 Azure 容器執行個體 的常見問題集

本文說明 Azure 容器執行個體 的常見問題。

部署

我的容器映像檔可以有多大?

Azure 容器執行個體 上可部署容器映像的大小上限為 15 GB。 您在部署時,可能可以視當下實際可用的資源情況部署較大的映像,但這並不保證一定能部署較大的映像。

容器映像的大小會影響部署所需時間,因此一般而言,您會希望盡可能將容器映像保持在最小。

如何加速容器的部署?

因為部署時間的其中一個主要決定因素是映像大小,因此,請尋找降低大小的方法。 移除不需要的層,或挑選較輕量的基底 OS 映像,以降低映像層大小。 例如,如果您正在執行 Linux 容器,請考慮使用 Alpine 作為基底映像,而非使用完整的 Ubuntu Server。 同樣地,若為 Windows 容器,請盡可能使用 Nano Server 基底映像。

您也應該檢查 Azure 容器映像中的預先快取映像清單,可透過列出快取映像 API 取得。 您或許可以將某個映像圖層替換為其中一張預先快取的映像。

請參閱更多有關減少容器啟動時間的詳細指導方針。

支援的 Windows 基本 OS 映像有哪些?

注意

由於 2020 年 Windows 更新後出現向後相容性問題,以下映像版本列出了我們建議您在基底映像中使用的最低版本號碼。 目前使用舊版映像的部署不會受到影響,但新的部署應遵循下列基底映像。 2021 年 6 月 14 日之後,ACI 將不再支援使用舊版的部署。

注意

Azure 容器執行個體 上的機密容器目前不支援 Windows 容器。

Windows Server 2016 基底映像

重要

從現在到 2022 年 12 月 31 日,您可以繼續在 Azure 容器執行個體上部署 Windows Server 2016 容器群組。 在此日期之後,將不再支援 Windows Server 2016 映像。 如需關於如何轉換工作負載的指示,請參閱如何將我的 Windows Server 2016 容器群組移轉至 Windows Server 2019 映像?。

注意

不支援以半年度通道發行版本 1709 或 1803 為基礎的 Windows 映像。

Windows Server 2019 和用戶端基底映像

支援 ARM64(arm64)容器映像嗎?

No. Azure 容器執行個體 目前僅支援 x64(AMD64)容器映像檔。 ARM64 (arm64) 容器映像不支援在 Azure 容器執行個體 部署。 此限制在使用 Azure 容器執行個體 作為 AKS 虛擬節點(Virtual Kubelet)提供者時同樣適用。 如果你嘗試部署僅支援 ARM64 的映像檔,容器可能會無法啟動,因為底層平台不支援 ARM64 工作負載。 目前正在評估於未來版本中支援 Azure 容器執行個體的 ARM64,但目前尚未公布時程,也尚無確定的推出日期。

我應該在容器中使用哪個 .NET 或 .NET Core 映像層?

使用滿足需求的最小映像。 針對 Linux,您可以使用 runtime-alpine .NET Core 映像,而此映像自 .NET Core 2.1 發行起即獲得支援。 針對 Windows,如果您正在使用完整的 .NET Framework,則需要使用 Windows Server Core 映像 (僅限執行階段映像,例如 4.7.2-windowsservercore-ltsc2016)。 執行階段映像較小,但不支援需要 .NET SDK 的工作負載。

注意

ACI 無法從不符合 OCI 規範的登錄中提取映像。

哪些類型的容器登錄符合 ACI 規範?

ACI 支援從 ACR 及其他非 Microsoft 容器登錄檔(如 DockerHub)拉取映像,前提是登錄端點可透過網際網路公開存取。

對於網路受限或私有登錄檔(沒有公共 IP 的註冊),僅支援 Azure Container Registry(ACR)。 ACI 可透過管理身份與私有端點設定,從私有 ACR 端點擷取映像檔。 即使 ACI 與登錄檔之間設定了虛擬網路連線,也不支援從非 ACR 私有登錄檔(例如,僅透過虛擬網路存取的自架 Docker 登錄檔)拉取映像檔。

重要

服務主體認證無法用來從啟用私有端點的 ACR 中擷取影像。 你必須使用受控識別,才能驗證從已啟用私人端點的登錄機碼提取映像。 如需詳細資訊,請參閱使用受控識別從 Azure Container Registry 部署至 Azure 容器執行個體。

欲了解更多資訊,請參閱 「部署於虛擬網路 - 映像登錄檔存取」。

如何將我的 Windows Server 2016 容器群組移轉至 Windows Server 2019 映像?

  1. 識別您目前使用的 Windows 基礎映像。

    如果您是直接從 Microsoft Container Registry (MCR) 提取映像,則該映像的名稱就是您的基礎映像。

    如果您使用的是私有登錄檔,則需要查看 Dockerfile,以找出基底映像;它會標示在 'FROM' 行之後。

  2. 從 Windows Server 2019 選取您想要使用的新基礎映像。 以下範例顯示 Azure 容器執行個體上常用的 Windows Server 2016 映像以及我們對取代 Windows Server 2019 映像的建議。

    Windows Server 2016 映像 建議的 Windows Server 2019 映像
    mcr.microsoft.com/windows/servercore/iis mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019
    mcr.microsoft.com/windows/servercore:ltsc2016 mcr.microsoft.com/windows/servercore:ltsc2019

    若要深入了解,請參閱映像探索。

    注意

    如果您在選取新基礎映像時需要幫助,請建立 Azure 支援票證。

  3. 請依照Azure 容器執行個體 中更新容器的操作說明,更新您的 ACI 容器群組,以使用新的基底映像。

    如果您使用 MCR 來進行容器登錄,您可以將 MCR 映像的名稱直接傳至容器群組映像參數。

    如果您使用的是私人容器登錄,請遵循將容器升級至較新版 Windows 作業系統中的步驟。 如果您已變更容器群組的映像登錄參數,請確定這些參數已更新。

為什麼我會跳出「容器群組仍在轉換中」的錯誤訊息?

如果你看到錯誤訊息「容器群組『<名稱>』仍在轉換中,請稍後重試」,這是由於兩個平台設計限制之一所引起:

  1. 容器退出後或停止操作發出後,啟動操作過快。 系統側車需要幾秒鐘來傳播終止狀態。 在容器離開後或你發出停止操作後,至少等幾秒鐘再發出啟動操作。
  2. 當容器退出後,重新啟動政策設定為 Never時,啟動操作會被發出。 當重新啟動策略為 Never時,停止狀態不會被傳遞,後續的啟動操作會失敗。 要解決此問題,請在啟動操作前先執行停止操作,或改用重新啟動操作。 重新啟動操作是重新啟動容器程序,而非重新開始全新部署。

可用性和配額

我應該為容器或容器群組配置多少核心和記憶體?

這實際上取決於工作負載。 請先從小規模開始,並測試效能,看看您的容器表現如何。 監視 CPU 和記憶體資源使用量,然後根據您在容器中部署的程序類型來新增核心或記憶體。

請務必也要檢查您所正在部署區域的資源可用性,以了解每個容器群組可用的 CPU 核心和可用記憶體上限。

注意

容器群組的少量資源會由服務的底層基礎結構使用。 您的容器可存取配置給該群組的大部分資源,但不是所有資源。 因此,為群組中的容器要求資源時,請規劃小型的資源緩衝區。

ACI 是在什麼底層基礎架構上執行的?

Azure 容器執行個體 的目標是成為無伺服器的容器隨選服務,因此我們希望您專注於容器開發,不需要擔心基礎結構! 如果對效能好奇或想要加以比較,我們可以告訴您:ACI 的執行基礎是各種 SKU 的 Azure VM 組合,主要是 F 和 D 系列。 未來會有所變更,因為我們會持續開發及最佳化這項服務。

我想要在 ACI 上部署數千個核心,我可以增加配額嗎?

可以 (有時候)。 請參閱配額和限制一文,了解目前的配額,以及要求增加配額的限制。

我可以部署超過 4 個核心和 16 GB 記憶體的配置嗎?

如需高運算量和記憶體密集型工作負載的相關資訊,請參閱 大型容器 文章。 大型容器支援 vCPU 計數大於 4,記憶體容量為 16 GB,每個標準容器群組最多 32 個 vCPU 和 256 GB,每個機密容器群組 32 個 vCPU 和 192 GB。

特定區域何時可使用 ACI?

目前的區域可用性發佈在這裡。 如有特定區域的需求,請連絡 Azure 支援。

功能和案例

如何調整容器群組規模?

目前不支援對容器或容器群組進行調整規模。 如果您需要執行更多執行個體,請使用我們的 API 來自動化流程,並向服務提出更多建立容器群組的請求。

在自訂虛擬網路中執行的執行個體可使用哪些功能?

您可以在所選的 Azure 虛擬網路中部署容器群組,並將私人 IP 委派給容器群組,以在 Azure 資源之間路由傳送虛擬網路內的流量。 如需 Azure 容器執行個體 的網路案例和限制,請參閱虛擬網路案例和資源。

ACI 服務是否會保留連接埠來提供服務功能?

是,ACI 服務會保留下列連接埠來提供服務功能:22、1025-1027、3389-3399、9999、19000、19390、19080、19100、20000-30000、49152-65534。 請避免在容器群組定義中使用這些連接埠。

您可以相依於容器群組的 IP 位址嗎?

建立或刪除容器群組 IP 位址後,可能會變更。 我們建議應用程式程式碼沒有容器群組 IP 位址的相依性。 如果您想要維護靜態 IP 位址,也建議使用 NAT 閘道或應用程式閘道。

定價

什麼時候開始計費?

容器群組持續時間會從開始提取第一個容器映像時 (用於新部署) 或容器群組重新啟動時 (若已部署) 開始計算,直到容器群組停止為止。 詳細資料請參閱 容器執行個體定價。

我的容器停止後,是否會停止計費?

當整個容器群組停止後,即停止執行計量。 只要容器群組中的容器還在執行,我們就會保留資源,以備您想要再次啟動容器。

Azure 容器執行個體 上的機密容器

什麼是機密運算,如何套用至 Azure 容器執行個體?

機密運算是由機密運算聯盟 (CCC) 所定義的業界術語,它是一個專門定義和加速機密運算採用的基金會。 CCC 對於機密運算的定義是,藉由在硬體型的受信任執行環境 (TEE) 中執行運算以保護使用中的資料。 ACI 機密容器導入硬體結構的保護、程式碼完整性和受信任執行環境 (TEE) 的驗證。 機密容器將套用最新的機密運算硬體,可讓客戶在未修改的情況下部署現有的應用程式,同時利用硬體架構的資料保護。 程式碼完整性和 TEE 的驗證是透過機密運算強制執行原則的證明得以實現,並在部署時附加至容器群組。 如果容器群組的屬性與機密運算強制執行原則的屬性不同,則環境會無法啟動以確保 TEE 不會遭到入侵。

我應該何時在 Azure 容器執行個體 上使用機密容器?

機密容器可用於各種不同的彈性工作負載,但特別適用於需要強式資料保護保證的工作負載。 這些工作負載的範例包括機器學習工作負載,這類工作負載會使用包含個人資料的資料集,或使用被視為智慧財產權的演算法。 醫療客戶可使用它來分析病患資料和研究。 金融服務客戶可將其用於信用分析、風險計算及資產組合平衡。

如何產生機密運算強制執行原則?

機密運算強制執行原則可使用 Azure CLI 的 confcom 延伸模組產生。 如需詳細資訊,請參閱 confcom 延伸模組。

Azure 容器執行個體 上的機密容器不支援的功能為何?

機密容器不支援 GPU 型 ACI 容器部署和 Windows 容器。

Azure 容器執行個體 上的機密容器可在哪些區域使用?

機密容器的目前區域可用性已在這裏發佈。

Azure 容器執行個體 上的機密容器是否需要支付額外的成本?

相較於標準 SKU 容器群組,Azure 容器執行個體 上的機密容器需要支付額外的成本。 如需詳細資訊,請參閱定價頁面。

Azure 容器執行個體上的 Spot 容器 (預覽版)

什麼是 ACI Spot 容器?

ACI 現成容器是新功能,可讓客戶在未使用的 Azure 容量上執行可中斷的容器化工作負載,相較於一般優先順序的 ACI 容器,價格有 70% 的折扣。

我應該何時使用 ACI Spot 容器?

當 Azure 的剩餘容量不足時,ACI Spot 容器可能會被搶占,而客戶則依記憶體/核心的每秒使用量計費。 使用 ACI 現成容器時,您現在可執行可容許 Azure 中斷的容器化工作負載 (例如批次處理、蒙地卡羅模擬、開發/測試工作負載和可平行化的離線工作負載),並成本僅為傳統 ACI 價格的一小部分。 此供應項目的目標對象為想要執行可中斷工作負載且沒有嚴格可用性需求的客戶。

ACI Spot 容器有哪些功能不受支援?

Spot 容器不支援以 GPU 為基礎的 ACI 容器部署、可用性區域,以及支援使用公用 IP 的 ACI 部署和在自訂虛擬網路後方使用私人 IP 的 ACI 部署。

ACI Spot 容器的預設配額是什麼?

所有客戶都會取得 10 個 vCPU 核心和 10 個容器群組的預設配額。

如何為 ACI Spot 容器提出配額申請?

客戶可提交支援要求以提高 Spot 容器的容量;當系統要求您填寫所需詳細資料時,請將問題類型選為 [Services and Subscription limits (quotas)],並將新增配額類型選為為 ACI Spot 容器供應項目新增的 [StandardSpotCores]。

哪些區域可以使用 ACI 現成容器?

在公開預覽期間,Azure 容器執行個體(ACI) 現成容器僅適用於所選區域。 如需詳細資訊,請參閱資源和區域可用性。

ACI Spot 容器是否需支付額外費用?

ACI Spot 容器以優惠價格提供,與一般優先順序的 ACI 容器相比,最高可享 70% 的折扣。 每個區域每月的折扣有所不同。 如需詳細資訊,請參閱價格網頁。