未在Docker容器中运行的.NET Core应用程序中创建日志文件

时间:2019-06-26 13:45:44

标签: docker asp.net-core

我在ASP.NET Core中运行Docker container应用程序,并且正在使用Serilog.Extensions.Logging.File将日志写入文件。

在本地(不在容器中)运行应用程序时,我可以查看日志,但是当我对容器进行bash操作时,我看不到日志。

我是集装箱运输的新手,我想知道我是否缺少任何步骤。

1 个答案:

答案 0 :(得分:1)

请按照以下步骤检查差异。

  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