Файл журнала не создан в приложении .NET Core, работающем в контейнере Docker - PullRequest
0 голосов
/ 26 июня 2019

Я запускаю приложение ASP.NET Core в Docker container и использую Serilog.Extensions.Logging.File для записи журналов в файл.

Я могу видеть журналы при локальном запуске приложения (не вконтейнер), но я не могу видеть журналы, когда вхожу в контейнер.

Я новичок в контейнеризации, и мне было интересно, если я пропускаю какие-либо шаги.

1 Ответ

1 голос
/ 27 июня 2019

Выполните следующие шаги, чтобы проверить разницу.

  1. Настроить Serilog как

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .ConfigureLogging((hostingContext, builder) =>
                {
                    builder.AddFile("Logs/myapp-{Date}.txt");
                })
                .UseStartup<Startup>();
    
  2. Построить изображение

    docker build -t dockersql .
    
  3. Запустите образ

    docker run -it -p 9999:80 dockersql
    
  4. Найдите работающий контейнер и выполните контейнер

enter image description here

Как совет от @Chris, рекомендуется монтировать том, вы можете попробовать как

    docker run -it -p 9999:80 -v D:\xx\TestDockerSQL\Test:/app/Logs dockersql
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...