Configurar contêineres do serviço de linguagem do Docker
O serviço de linguagem fornece uma estrutura de configuração comum a cada contêiner para que você possa facilmente definir e gerenciar configurações de armazenamento, registro em log, telemetria e segurança de contêineres. Este artigo se aplica aos seguintes contêineres:
- Análise de Sentimento
- Detecção de Idioma
- Extração de Frases-Chave
- Text Analytics for Health
- Resumo
- NER (Reconhecimento de Entidade Nomeada)
- Detecção de PII (Informações de identificação pessoal)
Definições de configuração
O contêiner tem as seguintes configurações:
Obrigatório | Configuração | Finalidade |
---|---|---|
Sim | ApiKey | Rastreia informações de cobrança. |
Não | ApplicationInsights | Permite a adição de suporte a dados telemétricos do Azure Application Insights para seu contêiner. |
Sim | Billing | Especifica o URI do ponto de extremidade do recurso de serviços no Azure. |
Sim | Eula | Indica que você aceitou a licença para o contêiner. |
Não | Fluentd | Grava log e, opcionalmente, dados telemétricos em um servidor do Fluentd. |
Não | Proxy HTTP | Configura um proxy HTTP para fazer solicitações de saída. |
Não | Logging | Fornece suporte a registro de log do ASP.NET Core para seu contêiner. |
Não | Mounts | Lê e grava dados do computador host para o contêiner e do contêiner de volta para o computador host. |
Importante
As configurações ApiKey
, Billing
e Eula
são usadas juntas e você deve fornecer valores válidos para todos os três; caso contrário, seu contêiner não será iniciado.
Configuração de configuração do ApiKey
A configuração ApiKey
especifica a chave de recurso do Azure usada para rastrear informações de cobrança do contêiner. É necessário especificar um valor para a chave e ele deve ser uma chave válida para o recurso de Linguagem especificado para a configuração Billing
.
Configuração applicationInsights
A configuração ApplicationInsights
permite que você adicione suporte a dados telemétricos do Azure Application Insights para seu contêiner. O Application Insights fornece um monitoramento detalhado do seu contêiner. Você pode monitorar facilmente seu contêiner quanto a disponibilidade, desempenho e uso. Você pode identificar e diagnosticar erros em seu contêiner rapidamente.
A tabela a seguir descreve as definições de configuração com suporte sob o ApplicationInsights
seção.
Obrigatório | Nome | Tipo de dados | Descrição |
---|---|---|---|
Não | InstrumentationKey |
String | A chave de instrumentação da instância do Application Insights para o qual telemetria de dados para o contêiner são enviados. Para obter mais informações, consulte Application Insights para ASP.NET Core. Exemplo: InstrumentationKey=123456789 |
Definição de configuração de cobrança
A configuração Billing
especifica o URI de ponto de extremidade do recurso de Linguagem no Azure usado para medir informações de cobrança para o contêiner. Você precisa especificar um valor para esta definição de configuração e o valor deve ser um URI de ponto de extremidade válido para um recurso de Linguagem no Azure. O contêiner relata o uso a cada 10 a 15 minutos.
Obrigatório | Nome | Tipo de dados | Descrição |
---|---|---|---|
Sim | Billing |
String | URI do ponto de extremidade de cobrança. |
Configuração de EULA
A configuração Eula
indica que você aceitou a licença para o contêiner. Você deve especificar um valor para essa definição de configuração e o valor deve ser definido como accept
.
Obrigatório | Nome | Tipo de dados | Descrição |
---|---|---|---|
Sim | Eula |
String | Aceitação da licença Exemplo: Eula=accept |
Os contêineres dos serviços de IA do Azure estão licenciados de acordo com o seu contrato que rege o uso do Azure. Se você não tiver um contrato existente que rege o uso do Azure, você concorda que o seu contrato que rege o uso do Azure é o Contrato de Assinatura do Microsoft Online, que incorpora os Termos de Serviços Online . Para versões prévias, você também concorda com os Termos de Uso Adicionais para Versões Prévias do Microsoft Azure. Ao usar o contêiner, você concorda com estes termos.
Configurações de Fluentd
O Fluentd é um coletor de dados de software livre para registro em log unificado. As configurações do Fluentd
gerenciam a conexão do contêiner com um servidor Fluentd. O contêiner inclui um provedor de registro em log do Fluentd, que permite que seu contêiner grave logs e, opcionalmente, dados de métrica para um servidor do Fluentd.
A tabela a seguir descreve as definições de configuração com suporte sob o Fluentd
seção.
Nome | Tipo de dados | Descrição |
---|---|---|
Host |
String | O endereço IP ou o nome do host DNS do servidor Fluentd. |
Port |
Integer | A porta do servidor Fluentd. O valor padrão é 24224. |
HeartbeatMs |
Integer | O intervalo de pulsação, em milissegundos. Se nenhum tráfego de evento tiver sido enviado antes que esse intervalo expire, uma pulsação será enviada ao servidor Fluentd. O valor padrão é 60.000 milissegundos (1 minuto). |
SendBufferSize |
Integer | O espaço de buffer de rede, em bytes, alocado para operações de envio. O valor padrão é 32768 bytes (32 kilobytes). |
TlsConnectionEstablishmentTimeoutMs |
Integer | O tempo de limite, em milissegundos, para estabelecer uma conexão SSL/TLS com o servidor do Fluentd. O valor padrão é 10.000 milissegundos (10 segundos). Se UseTLS for definido como false, esse valor é ignorado. |
UseTLS |
Boolean | Indica se o contêiner deve usar SSL / TLS para se comunicar com o servidor Fluentd. O valor padrão é false. |
Configurações das credenciais de proxy HTTP
Se você precisar configurar um proxy HTTP para fazer solicitações de saída, use estes dois argumentos:
Nome | Tipo de dados | Descrição |
---|---|---|
HTTP_PROXY | string | O proxy a ser usado, por exemplo, http://proxy:8888 <proxy-url> |
HTTP_PROXY_CREDS | string | Quaisquer credenciais necessárias para autenticação no proxy, por exemplo, username:password . Esse valor deve estar em letras minúsculas. |
<proxy-user> |
string | O usuário para o proxy. |
<proxy-password> |
string | A senha associada ao <proxy-user> para o proxy. |
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> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \
Configurações de log
As configurações Logging
gerenciam o suporte ao registro em log do ASP.NET Core para o contêiner. Você pode usar as mesmas definições de configuração e valores para o contêiner usado em um aplicativo ASP.NET Core.
Os provedores de registro em log a seguir são suportados pelo contêiner:
Provedor | Finalidade |
---|---|
Console | O ASP.NET Core Console provedor de log. Todas as definições de configuração do ASP.NET Core e os valores padrão desse provedor de log são suportados. |
Depurar | O ASP.NET Core Debug provedor de log. Todas as definições de configuração do ASP.NET Core e os valores padrão desse provedor de log são suportados. |
Disco | O provedor de log do JSON. Esse provedor de log grava dados de log na montagem de saída. |
Este comando de contêiner armazena informações de registro em log no formato JSON para a montagem de saída:
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> \
Logging:Disk:Format=json \
Mounts:Output=/output
Este comando de contêiner mostra informações de depuração prefixadas com dbug
enquanto o contêiner está em execução:
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug
Registro em log do Disk
O provedor de registro Disk
suporta as seguintes configurações:
Nome | Tipo de dados | Descrição |
---|---|---|
Format |
String | O formato de saída para arquivos de log. Nota: Esse valor deve ser definido como json para ativar o provedor de registro. Se esse valor for especificado sem especificar também uma montagem de saída durante a instanciação de um contêiner, ocorrerá um erro. |
MaxFileSize |
Integer | O tamanho máximo, em megabytes (MB), de um arquivo de log. Quando o tamanho do arquivo de log atual atende ou excede esse valor, um novo arquivo de log é iniciado pelo provedor de log. Se -1 for especificado, o tamanho do arquivo de log será limitado apenas pelo tamanho máximo do arquivo, se houver, para a montagem de saída. O valor padrão é 1. |
Para obter mais informações sobre como configurar o suporte ao registro em log do ASP.NET Core, consulte Configuração do arquivo de configurações.
Configurações de montagem
Use montagens de associação para ler e gravar dados do contêiner e para ele. Você pode especificar uma montagem de entrada ou saída especificando a opção --mount
no comando docker run.
Os contêineres do serviço de linguagem não usam montagens de entrada ou saída para armazenar dados de treinamento ou serviço.
A sintaxe exata do local da montagem do host varia de acordo com o sistema operacional do host. Além disso, o local de montagem do computador host pode não estar acessível devido a um conflito entre as permissões usadas pela conta de serviço do Docker e as permissões do local de montagem do host.
Opcional | Nome | Tipo de dados | Descrição |
---|---|---|---|
Não permitido | Input |
String | Os contêineres de serviço de linguagem não usam isso. |
Opcional | Output |
String | O destino de montagem de saída. O valor padrão é /output . Esse é o local dos logs. Isso inclui logs de contêiner. Exemplo: --mount type=bind,src=c:\output,target=/output |
Próximas etapas
- Usar mais contêineres de IA do Azure