无法查看ASP NET Core容器的日志

Ber*_*ian 3 logging docker asp.net-core

您好我有以下问题:

我有一个ASP .NET Core服务器是码头工人,美化版,运行在一个容器中docker-compose通过。我将请求发送到我的服务器postman和我得到500-internal server error

我试过了:

  • docker attach myserver 而且我在控制台中什么也没得到。
  • docker logs myserver 我只会得到初始日志(启动)。
  • telnet hostname port 它似乎可以连接,但我不知道如何创建请求。

我怎样才能让我的手在console我的ASP .NET Core服务器?

码头工人组成

version: '3.3'
services:
    db:
      image: redis:4.0.5-alpine
      container_name: redis0

      networks: 
        - redis-net
      ports:
        - 6381:6379

    backend:
      image: server
      container_name: server0
      build: ./Server
      command: ["dotnet","Server.dll"]
      depends_on:
        - db
      ports:
        - 9400:9300
      networks:
        - redis-net

networks:
    redis-net:
Run Code Online (Sandbox Code Playgroud)

dockerfile(用于服务器)

FROM microsoft/dotnet:2.1-aspnetcore-runtime 
WORKDIR /app
COPY ./publish /app
EXPOSE 9300
Run Code Online (Sandbox Code Playgroud)

启动文件

public static IWebHostBuilder CreateWebHostBuilder(string[] args) {
            string port="9300";
            var builder = new WebHostBuilder();
            builder.UseStartup<Startup>();
            var url =$"http://0.0.0.0:{port.ToString()}/";//Address.Default.ToUrl();
            Debug.WriteLine(url);
            builder.UseKestrel().UseUrls(url);
            return builder;

        }
Run Code Online (Sandbox Code Playgroud)

hel*_*sri 5

  • 配置.net核心应用以将日志打印到控制台

    E.g. Console.WriteLine("Some application log");

  • 重建并运行容器

    docker-compose build

    docker-compose up

  • 使用获取container-id运行server容器的

    docker ps

  • 在另一个命令窗口中运行此命令以跟踪日志

    docker logs --follow <container-id>

  • 运行它进入容器的bash外壳

    docker exec -it <container-id> bash