web-dev-qa-db-ja.com

Azure AppServiceのDockerコンテナログはどこにありますか

.net Core2アプリを実行しているDockerコンテナがあります。

ロギングは、Program.csのこのコードを使用して構成されます

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .ConfigureLogging((hostingContext, logging) =>
        {
            logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
            logging.AddConsole();
            logging.AddDebug();
        })
        .UseStartup<Startup>();

およびappsettings.jsonファイル

{
  "Logging": {
    "LogLevel": {
      "Default": "Information"
    }
  },
}

ロギングは問題ないようです。Kestrelを直接実行すると、ターミナルでログを確認できます。コンテナ化された場合も同じです。コマンドdocker logsは私が欲しいものを示しています。

Azure Web Appでコンテナーとして実行すると、本番環境で問題が発生します。一貫性のあるDockerログが見つかりません。

FTPまたはURLhttps://[mysite].scm.azurewebsites.net/api/logs/dockerを介してログファイルにアクセスしようとしました。たとえば、https://[mysite].scm.azurewebsites.net/api/vfs/LogFiles/2018_09_09_RD0003FF74F63E_docker.logのように、ログファイルはほとんど空で、コンテナの開始行のみが存在します enter image description here

また、通常のポータルインターフェイスにも同じ行があります。

問題は、DockerログがAzure Web Appのdocker.logファイルに自動的に出力されるかどうかです。足りないものはありますか?

6
Benoit Patra

コンテナ設定でログを確認しましたか? this ガイドに従ってコンテナーをAzureWebアプリにデプロイしました。

Container Logs

1
Mitch Stewart

同じ問題があります。AppServiceコンテナのログは一般的であいまいです。これは、コンテナーを実行するたびにDockerが表示するログと同じではありません。

17/02/2020 08:59:25.186 INFO - Site: tutorial-api - Start container succeeded. Container: f8bfa7e27680c0e9551c6157f9d1c8a73c9a3e739b4f15de8586ce52809798d3 17/02/2020 08:59:30.675 INFO - Site: tutorial-api - Application Logging (Filesystem): On 17/02/2020 08:59:44.106 INFO - Site: tutorial-api - Waiting for container to be ready 17/02/2020 08:59:49.116 INFO - Site: tutorial-api - Container has exited 17/02/2020 08:59:49.117 ERROR - Site: tutorial-api - Container could not be started 17/02/2020 08:59:49.120 INFO - Site: tutorial-api - Purging after container failed to start 17/02/2020 08:59:49.120 ERROR - Site: tutorial-api - Unable to start container. Error message: Container could not be started: tutorial-api_20

"コンテナを起動できません、コンテナを起動できませんでした"

うわー! Azureは、60秒ごとに1分が経過したと言ったところです。

これが本番環境であることは理解していますが、何かを教えてください。

欲求不満から、Azure Container Instanceリソースで同じイメージを実行することにしました。そこでは、Dockerが提供するのと同じ詳細なログが表示されます(下のスクリーンショットを参照)。

enter image description here

今それが私が話していることです!

Azure Container Instanceのエラーログを使用して、App ServiceがSQL Serverリソースにアクセスできないことがわかりました(同じリソースグループ内にある場合でも)。同じリソースグループ内でSQLServerリソースにアクセスできるようにしただけです

enter image description here

0
Yorro