Windows コンテナー内から Azure VM 上でアプリケーションが実行されているかどうかを検出する方法

Windows コンテナー内から Azure VM 上でアプリケーションが実行されているかどうかを検出する方法

この質問の状況は次のとおりです。

  • ASP.NET (.NET Framework) で記述されたアプリケーションは、Windows Server 2016 上の Windows コンテナー内で実行されています。
  • アプリケーションは実行時にAzure VM内で実行されているかどうかを検出できる必要があります。

アプリが Azure VM 内で実行されているかどうかを検出できる PowerShell スクリプトがありますが、これはコンテナーの外部で実行されている場合にのみ機能します。コンテナー内に入ると、このスクリプトは False を返しますが、これは正しくありません。

アプリケーションがWindowsコンテナー内のAzure VM内で実行されているかどうかを検出する方法をご存知の方はいらっしゃいますか? よろしくお願いします

答え1

ほとんどの Windows コンテナー システムには、Container Execution Service (cexecsvc) というサービスが存在します。これが存在するかどうかを確認するための PowerShell スニペットを用意しました: If (Get-Service -Name cexecsvc) { return $TRUE }

関連情報