你当前正在访问 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。
- 组织受到严格监管,不将任何类型的数据发送回云。
- 按指示完成申请 - 请密切注意整个申请过程中提供的指南,以确保提供审批所需的全部必要信息。
为断开连接的容器购买承诺层级定价计划
创建新资源
登录 Azure 门户,然后为上述相关的 Azure AI 服务之一选择“新建资源”。
输入相关信息,创建资源。 请务必选择“承诺层级断开连接的容器”作为定价层。
注意
- 只有在获得 Microsoft 批准后,你才能看到购买承诺层级的选项。
- 定价详细信息仅供参考。
在页面底部选择“查看 + 创建” 。 查看信息,然后选择“创建”。
配置容器以便在断开连接的情况下使用
有关下载和配置容器以在断开连接的情况下使用的步骤,请参阅以下文档:
语音服务
语言服务
Kubernetes 部署中的环境变量名称
某些 Azure AI 容器(例如翻译器)要求用户在运行容器时传递包含冒号 (:
) 的环境变量名称。 这在使用 Docker 时可行,但 Kubernetes 不接受环境变量名称中的冒号。
若要解决此问题,可以在部署到 Kubernetes 时将冒号替换为双下划线字符 (__
)。 请参阅以下示例,了解环境变量名称的可接受格式:
env:
- name: Mounts__License
value: "/license"
- name: Mounts__Output
value: "/output"
此示例替换 docker run 命令中的 Mounts:License
和 Mounts: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)。