你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在断开连接的环境中使用 Docker 容器

容器使你能够在自己的环境中运行 Azure AI 服务 API,非常适合你的特定安全和数据治理要求。 借助断开连接的容器,可以使用多个与 Internet 断开连接的这些 API。 目前,可以按照此方式运行以下容器:

尝试在脱机环境中运行 Docker 容器之前,请务必了解成功下载和使用容器的步骤。 例如:

  • 主计算机要求和建议。
  • 你将用来下载容器的 Docker pull 命令。
  • 如何验证容器是否正在运行。
  • 如何在容器运行后将查询发送到容器的终结点。

请求在断开连接的环境中使用容器的访问权限

填写并提交请求表单以请求访问与 Internet 断开连接的容器。

通过该表单请求有关你、你的公司以及要使用该容器的用户方案的信息。 提交表单后,Azure AI 服务团队将对其进行审核,并在 10 个工作日内通过电子邮件向你告知决定。

重要

  • 在此表单上,必须使用与 Azure 订阅 ID 关联的电子邮件地址。
  • 用于运行容器的 Azure 资源必须已使用批准的 Azure 订阅 ID 创建。
  • 请检查你的电子邮件(“收件箱”和“垃圾邮件”文件夹)以获取来自 Microsoft 的应用程序状态更新。

获得批准后,便可以根据本文稍后所述从 Microsoft Container Registry (MCR) 下载该容器,然后运行该容器。

如果你的 Azure 订阅尚未获得批准,则无法运行该容器。

仅限满足以下要求的客户访问:

  • 组织应标识为 Microsoft 的战略客户或合作伙伴。
  • 断开连接的容器预期会完全脱机运行,因此用例必须满足以下或类似要求之一:
    • 环境或设备未与 Internet 建立连接。
    • 远程位置偶尔访问 Internet。
    • 组织受到严格监管,不将任何类型的数据发送回云。
  • 按指示完成申请 - 请密切注意整个申请过程中提供的指南,以确保提供审批所需的全部必要信息。

为断开连接的容器购买承诺层级定价计划

创建新资源

  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 容器概述