Невозможно просмотреть логи ASP NET Core Container - PullRequest
0 голосов
/ 11 декабря 2018

Здравствуйте, у меня следующая проблема:

У меня есть ASP .NET Core сервер, который подключен к докеру и работает в контейнере с docker-compose. Я отправляю запросы на свой сервер через postman, и яget 500-internal server error.

Я пытался:

  • docker attach myserver, и я ничего не получаю в консоли.
  • docker logs myserver я получу только начальныйlog (автозагрузка).
  • telnet hostname port и кажется, что он работает для подключения, но я не знаю, как создать запрос.

Как я могу получить в свои рукиconsole моего ASP .NET Core сервера?

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 (для сервера)

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;

        }

1 Ответ

0 голосов
/ 11 декабря 2018
  • Настройка основного приложения .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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...