Partilhar via


Conectar-se a um console de depuração de contêiner em Aplicativos de Contêiner do Azure

A plataforma Azure Container Apps oferece um console de depuração para ajudá-lo a solucionar problemas do seu aplicativo nas seguintes circunstâncias:

  • Você não pode se conectar ao contêiner de destino quando usa um contêiner que inclui apenas o aplicativo e suas dependências de tempo de execução ou uma imagem "distroless".
  • Quando encontram problemas de rede, suas imagens não têm utilitários de depuração para investigá-los.

Você pode se conectar ao console de depuração usando a CLI do Azure.

Nota

O console de depuração cria um contêiner separado, que compartilha os recursos subjacentes com o contêiner onde seu aplicativo está sendo executado. Se já existir um contêiner de depuração, o console de depuração reutiliza o existente em vez de criar um novo. Há no máximo um contêiner de depuração em execução por réplica de aplicativo de contêiner. Se você não precisar manter um contêiner de depuração em execução, digite exit ou use Ctrl/Cmd + D na sessão do console de depuração.

CLI do Azure

Para conectar a um contêiner o console de depuração, use o az containerapp debug comando. Para sair do console, digite exit ou use Ctrl/Cmd + D.

Por exemplo, conecte-se a um console de depuração de contêiner em um aplicativo de contêiner com um único contêiner usando o comando a seguir. Antes de executar esse comando, substitua os valores do <PLACEHOLDERS> aplicativo contêiner.

az containerapp debug \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP>

Para se conectar a um console de depuração de contêiner em um aplicativo de contêiner com várias revisões, réplicas e contêineres, inclua os seguintes parâmetros no az containerapp debug comando.

Argumento Descrição
--revision O nome da revisão do contêiner a ser depurado.
--replica O nome da réplica do contêiner a ser depurado.
--container O nome do contêiner a ser depurado.

Você pode obter os nomes de revisão com o az containerapp revision list comando. Antes de executar esse comando, substitua os valores do <PLACEHOLDERS> aplicativo contêiner.

az containerapp revision list \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --query "[].name"

Use o az containerapp replica list comando para obter os nomes da réplica e do contêiner. Antes de executar esse comando, substitua os valores do <PLACEHOLDERS> aplicativo contêiner.

az containerapp replica list \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --revision <REVISION_NAME> \
  --query "[].{Containers:properties.containers[].name, Name:name}"

Conecte-se ao console de depuração do contêiner com o az containerapp debug comando. Antes de executar esse comando, substitua os valores do <PLACEHOLDERS> aplicativo contêiner.

az containerapp debug \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --revision <REVISION_NAME> \
  --replica <REPLICA_NAME> \
  --container <CONTAINER_NAME> 

Ferramentas incorporadas na consola de depuração

As seguintes ferramentas de diagnóstico são pré-instaladas no console de depuração para ajudá-lo a solucionar problemas:

Se quiser instalar outras ferramentas, execute o tdnf install -y <TOOL_NAME> comando. Antes de executar esse comando, substitua os valores do <PLACEHOLDERS> aplicativo contêiner.

Por exemplo, instale o JDK no console de depuração usando o seguinte comando:

tdnf install -y msopenjdk-17

Acessando o sistema de arquivos de um contêiner no console de depuração

Por padrão, o console de depuração é executado como o usuário root. Você pode acessar o sistema de arquivos do seu contêiner através do /proc/1/cwd/ diretório. Se o contêiner não for executado como o usuário raiz, execute o seguinte comando antes de acessar o /proc/1/cwd/ diretório ou você receberá um erro de permissão negada.

switch-user

Para obter mais informações, consulte as seguintes páginas de manual do Linux: