Поделиться через


Подключение к консоли отладки контейнера в приложениях контейнеров Azure

Платформа приложений контейнеров Azure предлагает консоль отладки для устранения неполадок приложения в следующих обстоятельствах:

  • Вы не можете подключиться к целевому контейнеру, если вы используете контейнер, который включает только приложение и его зависимости среды выполнения, или образ без дистрибутива.
  • При возникновении проблем с сетью образы не имеют служебных программ отладки для их изучения.

Вы можете подключиться к консоли отладки с помощью Azure CLI.

Примечание.

Консоль отладки создает отдельный контейнер, который использует базовые ресурсы с контейнером, на котором выполняется приложение. Если контейнер отладки уже существует, консоль отладки повторно использует существующую вместо создания новой. Существует не более одного запущенного контейнера отладки для каждой реплики приложения контейнера. Если вам не нужно выполнять контейнер отладки, введите выход или используйте ctrl/Cmd + D в сеансе консоли отладки.

Azure CLI

Чтобы подключиться к контейнеру консоли отладки, используйте az containerapp debug команду. Чтобы выйти из консоли, введите клавишуCTRL/CMD+D.

Например, подключитесь к консоли отладки контейнера в приложении контейнера с одним контейнером с помощью следующей команды. Перед выполнением этой команды замените <PLACEHOLDERS> значения приложения-контейнера.

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

Чтобы подключиться к консоли отладки контейнера в приложении контейнера с несколькими редакциями, репликами и контейнерами, включите следующие параметры в az containerapp debug команду.

Аргумент Description
--revision Имя редакции контейнера для отладки.
--replica Имя реплики контейнера для отладки.
--container Имя контейнера для отладки.

Имена редакций az containerapp revision list можно получить с помощью команды. Перед выполнением этой команды замените <PLACEHOLDERS> значения приложения-контейнера.

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

az containerapp replica list Используйте команду, чтобы получить имена реплик и контейнеров. Перед выполнением этой команды замените <PLACEHOLDERS> значения приложения-контейнера.

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

Подключитесь к консоли отладки контейнера с помощью az containerapp debug команды. Перед выполнением этой команды замените <PLACEHOLDERS> значения приложения-контейнера.

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

Встроенные средства в консоли отладки

Следующие средства диагностики предварительно установлены в консоли отладки для устранения неполадок:

Если вы хотите установить другие средства, выполните tdnf install -y <TOOL_NAME> команду. Перед выполнением этой команды замените <PLACEHOLDERS> значения приложения-контейнера.

Например, установите JDK в консоли отладки с помощью следующей команды:

tdnf install -y msopenjdk-17

Сценарий. Доступ к файловой системе контейнера с помощью консоли отладки

По умолчанию консоль отладки выполняется в качестве корневого пользователя.

Доступ к файловой системе контейнера можно получить /proc/1 , если контейнер запускается в качестве корневого пользователя. Если контейнер не запускается от имени корневого пользователя, выполните следующую команду, чтобы переключить пользователя перед доступом /proc/1 к каталогу или вы получите ошибку с отказом в разрешении.

switch-user