在中斷聯機的環境中使用 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),以結束中斷連線容器的承諾計劃,且不會收取次年的費用。

疑難排解

如果您執行已啟用輸出掛接和記錄的容器,容器會產生記錄檔,有助於針對啟動或執行容器時發生的問題進行疑難解答。

提示

如需疑難解答資訊和指引,請參閱中斷連線的容器常見問題(FAQ)。

下一步

Azure AI 容器概觀