在中斷聯機的環境中使用 Docker 容器

容器可讓您在自己的環境中執行 Azure AI 服務 API,而且非常適合您的特定安全性和資料控管需求。 已中斷連線的容器可讓您使用與因特網中斷連線的其中數個 API。 目前,可以透過下列方式執行下列容器:

嘗試在離線環境中執行 Docker 容器之前,請確定您知道成功下載和使用容器的步驟。 例如:

  • 主電腦需求和建議。
  • 您將用來下載容器的 Docker pull 命令。
  • 如何驗證容器是否正在執行。
  • 如何在容器的端點執行之後,將查詢傳送至該端點。

要求在中斷連線的環境中使用容器的存取權

填寫並提交 要求表單 ,以要求存取與因特網中斷聯機的容器。

該表格需要有關您本身、您的公司,以及您將會使用該容器之使用者情節的資訊。 提交表單之後,Azure AI 服務小組會在 10 個工作天內進行審核,並以電子郵件將做出的決定傳送給您。

重要

  • 在表單上,您必須使用與 Azure 訂用帳戶識別碼相關聯的電子郵件地址。
  • 您用來執行容器的 Azure 資源,必須使用已核准的 Azure 訂用帳戶識別碼來建立。
  • 檢查電子郵件 (收件匣和垃圾郵件資料夾),以取得 Microsoft 應用程式狀態的更新。

經過核准之後,您將能在從 Microsoft Container Registry (MCR) 下載容器之後執行容器,稍後將在本文中加以說明。

如果您的 Azure 訂用帳戶尚未核准,您將無法執行容器。

存取權限於符合下列需求的客戶:

  • 您的組織應識別為具有Microsoft的策略性客戶或合作夥伴。
  • 中斷連線的容器預期會完全離線執行,因此您的使用案例必須符合下列其中一個或類似需求:
    • 與網際網路零連線的環境或裝置。
    • 偶爾可存取網際網路的遠端位置。
    • 嚴格規定不得將任何類型的資料傳回到雲端的組織。
  • 應用程式已依照指示完成 - 請密切注意整個應用程式中提供的指引,以確保您提供核准所需的所有必要資訊。

購買已中斷連線容器的承諾用量層定價方案

建立新資源

  1. 登入 Azure 入口網站,然後選取 [為上面所列的其中一個適用的 Azure AI 服務建立新資源]。

  2. 輸入適用的資訊以建立您的資源。 請務必選取 [承諾用量層已中斷連線的容器] 作為定價層。

    注意

    • 如果您已獲得Microsoft核准,您只會看到購買承諾用量層的選項。
    • 定價詳細數據僅供範例使用。
  3. 選取頁面底部的 [檢閱 + 建立]。 檢閱資訊,然後選取 [建立]

設定中斷連線使用的容器

如需下載和設定容器以中斷連線使用的步驟,請參閱下列文件:

語音服務

語言服務

Kubernetes 部署中的環境變數名稱

一些 Azure AI 容器,例如翻譯工具,要求使用者在執行容器時傳遞包含冒號 (:) 的環境變數名稱。 使用 Docker 時這可運作,但 Kubernetes 不接受環境變數名稱中的冒號。 若要解決此問題,可以在部署至 Kubernetes 時將冒號取代為雙底線字元 (__)。 請參閱以下環境變數名稱的可接受格式範例:

        env:  
        - name: Mounts__License
          value: "/license"
        - name: Mounts__Output
          value: "/output"

此範例取代 docker run 命令中 Mounts:LicenseMounts:Output 環境變數名稱的預設格式。

容器映像和授權更新

容器授權檔案是用於解密每個容器映像內特定檔案的金鑰。 如果這些加密檔案的更新發生在新的容器映像內,則您擁有的授權檔案可能無法啟動容器,即使它適用於以前版本的容器映像。 若要避免此問題,建議您從 mcr.microsoft.com 提取新映像版本之後,再從 Azure 入口網站中所提供的容器資源端點下載新的授權檔案。

若要下載新的授權檔案,您可以將 DownloadLicense=True 以及授權掛接、API 金鑰和計費端點一起新增至 Docker 執行命令。 如需詳細指示,請參閱容器的文件

使用量記錄

當您在已中斷連線的環境中操作 Docker 容器時,容器會將使用量記錄寫入至已在其中收集它們一段時間的磁碟區。 您也可以呼叫 REST 端點,以產生服務使用量的相關報告。

用於儲存記錄的引數

在已中斷連線的環境中執行時,輸出掛接必須可供容器使用,才能儲存使用量記錄。 例如,您會在 -v /host/output:{OUTPUT_PATH} 下列範例中包含 和 Mounts:Output={OUTPUT_PATH} ,並將 {OUTPUT_PATH} 取代為將儲存記錄的路徑:

docker run -v /host/output:{OUTPUT_PATH} ... <image> ... Mounts:Output={OUTPUT_PATH}

使用容器端點取得記錄

容器提供兩個端點來傳回其使用量的相關記錄。

取得所有記錄

下列端點會提供報告,摘要摘要所掛接計費記錄目錄中收集的所有使用量。

https://<service>/records/usage-logs/

它會傳回類似下列範例的 JSON。

{
  "apiType": "noop",
  "serviceName": "noop",
  "meters": [
    {
      "name": "Sample.Meter",
      "quantity": 253
    }
  ]
}

取得特定月份的記錄

下列端點會提供報告,摘要特定月份和年份的使用量。

https://<service>/records/usage-logs/{MONTH}/{YEAR}

它會傳回類似下列範例的 JSON 回應:

{
  "apiType": "string",
  "serviceName": "string",
  "meters": [
    {
      "name": "string",
      "quantity": 253
    }
  ]
}

購買承諾方案以在中斷連線的環境中使用容器

已中斷連線容器的承諾用量方案具有行事歷年度承諾用量期間。 當您購買方案時,系統會立即向您收取全價。 在承諾期間,您無法變更承諾用量方案,但您可以在年度剩餘天數內以按比例計算的價格購買其他單位。 您可以直到承諾用量最後一天的午夜 (UTC),結束承諾用量方案。

您可以在資源的 [承諾用量層定價] 設定中選擇不同的承諾用量方案。

結束承諾用量方案

如果決定不想要繼續購買承諾用量方案,您可以將資源的自動續約設定為 [不要自動續約]。 您的承諾用量方案將會在顯示的承諾用量結束日期到期。 在此日期之後,不會向您收取承諾用量方案的費用。 您可以繼續使用 Azure 資源來進行 API 呼叫,並依隨用隨付定價計費。 您一直持續到今年最後一天午夜(UTC),以結束中斷連線容器的承諾計劃,且不會收取次年的費用。

疑難排解

如果您在啟用輸出掛接和記錄的情況下執行容器,容器將會產生記錄檔,有助於排解在啟動或執行容器時所發生的問題。

提示

如需更多疑難排解資訊和指引,請參閱已中斷連線的容器常見問題集

下一步

Azure AI 容器概觀