Bercovici Adrian
Bercovici Adrian

Reputation: 9360

Can not view logs of ASP NET Core Container

Hello i have the following problem:

I have a ASP .NET Core server that is docker-ized and runs in a container with docker-compose.I send requests to my server via postman and i get 500-internal server error.

I have tried:

How can i get my hands on the console of my ASP .NET Core server?

docker-compose

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:

dockerfile (for server)

FROM microsoft/dotnet:2.1-aspnetcore-runtime 
WORKDIR /app
COPY ./publish /app
EXPOSE 9300

Startup.cs

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;

        }

Upvotes: 8

Views: 10954

Answers (1)

hellosri
hellosri

Reputation: 389

  • Configure your .net core app to print logs to the console

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

  • Rebuild & run the containers

    docker-compose build

    docker-compose up

  • Get the container-id for the running server container using

    docker ps

  • Run this in another command window to follow the logs

    docker logs --follow <container-id>

  • Run this to get into the container's bash shell

    docker exec -it <container-id> bash

Upvotes: 15

Related Questions