你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
配置翻译器 Docker 容器
Azure AI 服务为每个容器提供一个通用配置框架。 你可以轻松配置翻译器容器以构建针对强大的云功能和边缘位置进行优化的翻译器应用程序体系结构。
使用 docker run
命令参数配置翻译器容器运行时环境。 这些容器既有必需设置也有可选设置。 必需的容器专用设置是帐单设置。
配置设置
此容器具有以下配置设置:
必须 | 设置 | 目的 |
---|---|---|
是 | ApiKey | 跟踪账单信息。 |
否 | ApplicationInsights | 允许向容器添加 Azure Application Insights 遥测支持。 |
是 | Billing | 指定 Azure 上服务资源的终结点 URI。 |
是 | EULA | 表示已接受容器的最终用户许可协议 (EULA)。 |
否 | Fluentd | 将日志和(可选)指标数据写入 Fluentd 服务器。 |
否 | HTTP 代理 | 配置 HTTP 代理以发出出站请求。 |
否 | 日志记录 | 为容器提供 ASP.NET Core 日志记录支持。 |
是 | Mounts | 从主计算机读取数据并将其写入到容器,以及从容器读回数据并将其写回到主计算机。 |
ApiKey 配置设置
ApiKey
设置指定用于跟踪容器账单信息的 Azure 资源键。 必须为 ApiKey 指定值,该值必须是为 Billing
配置设置指定的翻译器资源的有效密钥。
可以在以下位置找到此设置:
- Azure 门户:翻译器资源管理,位于“密钥”下
ApplicationInsights 设置
此 ApplicationInsights
设置允许向容器添加 Azure Application Insights 遥测支持。 Application Insights 可深入监视容器。 可以轻松监视容器的可用性、性能和使用情况。 还可以快速识别和诊断容器中的错误。
下表描述了 ApplicationInsights
节支持的配置设置。
必须 | 名称 | 数据类型 | 说明 |
---|---|---|---|
否 | InstrumentationKey |
字符串 | 容器遥测数据要发送到的 Application Insights 实例的检测密钥。 有关详细信息,请参阅适用于 ASP.NET Core 的 Application Insights。 例如: InstrumentationKey=123456789 |
Billing 配置设置
Billing
设置指定 Azure 上用于计量容器账单信息的翻译器资源的终结点 URI。 必须为此配置设置指定一个值,并且该值必须是 Azure 上翻译器资源的有效终结点 URI。 容器约每 10 到 15 分钟报告一次使用情况。
可以在以下位置找到此设置:
- Azure 门户:翻译器概述页面,标记为“
Endpoint
”
必须 | 名称 | 数据类型 | 说明 |
---|---|---|---|
是 | Billing |
字符串 | 账单终结点 URI。 有关获取账单 URI 的详细信息,请参阅收集必需参数。 有关详细信息和区域终结点的完整列表,请参阅 Azure AI 服务的自定义子域名。 |
EULA 设置
Eula
设置表示已接受容器的许可条款。 必须为此配置设置指定值,并且该值必须设置为 accept
。
必须 | 名称 | 数据类型 | 说明 |
---|---|---|---|
是 | Eula |
字符串 | 接受许可证 示例: Eula=accept |
Azure AI 服务容器根据管理 Azure 使用的协议获得许可。 如果没有管理 Azure 使用的现有协议,则表示同意管理 Azure 使用的协议是 Microsoft 在线订阅协议,其中包含联机服务条款。 对于预览版,还应同意 Microsoft Azure 预览版补充使用条款。 使用容器即表示同意这些条款。
Fluentd 设置
Fluentd 是一个用于统一日志记录的开放源代码数据收集器。 Fluentd
设置管理容器到 Fluentd 服务器的连接。 容器包含一个 Fluentd 日志记录提供程序,使容器可以向 Fluentd 服务器写入日志和(可选)指标数据。
下表描述了 Fluentd
节支持的配置设置。
名称 | 数据类型 | 说明 |
---|---|---|
Host |
字符串 | Fluentd 服务器的 IP 地址或 DNS 主机名。 |
Port |
整数 | Fluentd 服务器的端口。 默认值为 24224。 |
HeartbeatMs |
整数 | 检测信号间隔,以毫秒为单位。 如果在此间隔过期之前未发送事件流量,则将检测信号发送到 Fluentd 服务器。 默认值为 60000 毫秒(1 分钟)。 |
SendBufferSize |
整数 | 为发送操作分配的网络缓冲空间,以字节为单位。 默认值为 32768 字节(32 KB)。 |
TlsConnectionEstablishmentTimeoutMs |
Integer | 与 Fluentd 服务器建立 SSL/TLS 连接的超时值,以毫秒为单位。 默认值为 10000 毫秒(10 秒)。 如果 UseTLS 设置为 false,则会忽略此值。 |
UseTLS |
布尔 | 指示容器是否应使用 SSL/TLS 来与 Fluentd 服务器通信。 默认值为 false。 |
HTTP/HTTPS 代理凭据设置
如果需要配置 HTTP 代理以发出出站请求,请使用以下两个参数:
名称 | 数据类型 | 描述 |
---|---|---|
HTTPS_PROXY | string | 例如,代理 URL https://proxy:8888 |
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type-bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTPS_PROXY=<proxy-url>
日志记录设置
翻译器容器支持以下日志记录提供程序:
提供程序 | 目标 |
---|---|
控制台 | ASP.NET Core Console 日志记录提供程序。 支持此日志记录提供程序的所有 ASP.NET Core 配置设置和默认值。 |
调试 | ASP.NET Core Debug 日志记录提供程序。 支持此日志记录提供程序的所有 ASP.NET Core 配置设置和默认值。 |
Disk | JSON 日志记录提供程序。 此日志记录提供程序将日志数据写入输出装入点。 |
Logging
设置管理容器的 ASP.NET Core 日志记录支持。 可对容器使用用于 ASP.NET Core 应用程序的相同配置设置和值。Logging.LogLevel
指定要记录的最低级别。LogLevel
的严重性介于 0 到 6 之间。 指定LogLevel
时,将为指定级别及更高级别的消息启用日志记录:跟踪 = 0、调试 = 1、信息 = 2、警告 = 3、错误 = 4、关键 = 5、无 = 6。目前,翻译器容器能够限制警告日志级别或更高级别的日志。
日志记录的常规命令语法如下所示:
-Logging:LogLevel:{Provider}={FilterSpecs}
以下命令会启动 Docker 容器,将 LogLevel
设置为“警告”,日志记录提供程序设置为“控制台”。 此命令在到控制台的应用程序流期间输出异常或意外事件:
docker run --rm -it -p 5000:5000
-v /mnt/d/TranslatorContainer:/usr/local/models \
-e apikey={API_KEY} \
-e eula=accept \
-e billing={ENDPOINT_URI} \
-e Languages=en,fr,es,ar,ru \
-e Logging:LogLevel:Console="Warning"
mcr.microsoft.com/azure-cognitive-services/translator/text-translation:latest
Disk 日志记录
Disk
日志记录提供程序支持以下配置设置:
名称 | 数据类型 | 说明 |
---|---|---|
Format |
字符串 | 日志文件的输出格式。 注意:此值必须设置为 json 才能启用日志记录提供程序。 如果指定了此值,但未同时在实例化容器时指定输出装入点,则会发生错误。 |
MaxFileSize |
整数 | 日志文件的最大大小,以 MB 为单位。 如果当前日志文件的大小达到或超过此值,日志记录提供程序会启动新的日志文件。 如果指定 -1,则日志文件的大小仅受输出装入点的最大文件大小(如果有)的限制。 默认值为 1。 |
磁盘提供程序示例
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type-bind,src=/home/azureuser/output,target=/output \
-e apikey={API_KEY} \
-e eula=accept \
-e billing={ENDPOINT_URI} \
-e Languages=en,fr,es,ar,ru \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output
有关配置 ASP.NET Core 日志记录支持的详细信息,请参阅设置文件配置。
装载设置
使用绑定装载从容器读取数据并将数据写入容器。 可以通过在 docker run 命令中指定 --mount
选项来指定输入装载或输出装载。