Как определить, запущено ли приложение на виртуальной машине Azure из контейнера Windows

Как определить, запущено ли приложение на виртуальной машине Azure из контейнера Windows

По этому вопросу вот ситуация:

  • Приложение, написанное на ASP.NET (.NET Framework), работает внутри контейнера Windows на Windows Server 2016.
  • Приложение должно иметь возможность определять во время выполнения, запущено ли оно внутри виртуальной машины Azure или нет.

У меня есть скрипт PowerShell, который может определить, запущено ли приложение внутри Azure VM, но это работает только при запуске вне контейнера. Внутри контейнера этот скрипт возвращает False, что неверно.

Кто-нибудь знает, как определить, запущено ли приложение внутри Azure VM внутри контейнера Windows? Спасибо заранее

решение1

В большинстве систем контейнеров Windows будет присутствовать служба с именем Container Execution Service (cexecsvc). Я предоставил вам фрагмент PowerShell для проверки ее наличия: If (Get-Service -Name cexecsvc) { return $TRUE }.

Связанный контент