Dela via


Ansluta till en felsökningskonsol för containrar i Azure Container Apps

Azure Container Apps-plattformen erbjuder en felsökningskonsol som hjälper dig att felsöka ditt program under följande omständigheter:

  • Du kan inte ansluta till målcontainern när du använder en container som endast innehåller programmet och dess körningsberoenden eller en "distrolös" avbildning.
  • När det uppstår nätverksproblem har dina bilder inte felsökningsverktyg för att undersöka dem.

Du kan ansluta till felsökningskonsolen med hjälp av Azure CLI.

Kommentar

Felsökningskonsolen skapar en separat container som delar de underliggande resurserna med containern där appen körs. Om det redan finns en felsökningscontainer återanvänder felsökningskonsolen den befintliga i stället för att skapa en ny. Det finns högst en som kör en felsökningscontainer per containerappreplik. Om du inte behöver köra en felsökningscontainer anger du avsluta eller använder Ctrl/Cmd + D i felsökningskonsolsessionen.

Azure CLI

Om du vill ansluta till en container med felsökningskonsolen az containerapp debug använder du kommandot . Om du vill avsluta konsolen anger du avsluta eller använder Ctrl/Cmd + D.

Du kan till exempel ansluta till en konsol för containerfelsökning i en containerapp med en enda container med hjälp av följande kommando. Innan du kör det här kommandot ersätter du med containerappens <PLACEHOLDERS> värden.

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

Om du vill ansluta till en konsol för containerfelsökning i en containerapp med flera revisioner, repliker och containrar ska du inkludera följande parametrar i az containerapp debug kommandot.

Argument beskrivning
--revision Revisionsnamnet för containern som ska felsökas.
--replica Repliknamnet för containern som ska felsökas.
--container Containernamnet på containern som ska felsökas.

Du kan hämta revisionsnamnen az containerapp revision list med kommandot . Innan du kör det här kommandot ersätter du med containerappens <PLACEHOLDERS> värden.

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

az containerapp replica list Använd kommandot för att hämta replik- och containernamnen. Innan du kör det här kommandot ersätter du med containerappens <PLACEHOLDERS> värden.

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

Anslut till containerns felsökningskonsol med az containerapp debug kommandot . Innan du kör det här kommandot ersätter du med containerappens <PLACEHOLDERS> värden.

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

Inbyggda verktyg i felsökningskonsolen

Följande diagnostikverktyg är förinstallerade i felsökningskonsolen för att hjälpa dig att felsöka problem:

Kör kommandot om du vill installera andra verktyg tdnf install -y <TOOL_NAME> . Innan du kör det här kommandot ersätter du med containerappens <PLACEHOLDERS> värden.

Du kan till exempel installera JDK i felsökningskonsolen med följande kommando:

tdnf install -y msopenjdk-17

Scenario – Åtkomst till containerns filsystem via felsökningskonsolen

Som standard körs felsökningskonsolen som rotanvändare.

Du kan komma åt /proc/1 containerns filsystem om containern körs som rotanvändare. Om containern inte körs som rotanvändare kör du kommandot nedan för att växla användare innan du kommer åt /proc/1 katalogen, eller så får du ett felmeddelande om nekad behörighet.

switch-to-app-user