Ошибка разрешения DNS при подключении к серверу grp c, работающему на docker - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь получить доступ к серверу grp c, который предоставляет порт 9000 и работает как контейнер docker.

Я использую основной клиент net для подключения к серверу. Работает прекрасно работает, когда сервер GRP C не работает как контейнер docker.

Я пытался использовать оба "localhost", "dockerconatiner-ip" при создании канала из клиента. Я запускаю grp c сервер на «0.0.0.0» и порт 9000.

docker команды: docker run -p 9000: 9000 -a stdin -a stdout -it

Ошибка : Status (StatusCode = недоступно, Detail = "DNS-разрешение не удалось")

dockerfile:

FROM mcr.microsoft.com/dotnet/core/runtime:3.0
COPY Sample/bin/Release/netcoreapp3.0/publish/ app/
WORKDIR /app
EXPOSE 9000
ENTRYPOINT ["dotnet", "Sample.dll"]

Служба Main:

static void Main(string[] args)
    {
        try
        {
            Environment.SetEnvironmentVariable("GRPC_VERBOSITY", "DEBUG");
            const int Port = 9000;
            Server server = new Server
            {
                Ports = { new ServerPort("0.0.0.0", 9000, ServerCredentials.Insecure) },
                Services = { BindService(new TestService()) }
            };
            server.Start();

            Console.WriteLine("starting server");
            Console.WriteLine("Press any key to shut down");
            Console.ReadKey();
            server.ShutdownAsync().Wait();
            Console.WriteLine("Grpc Server stopped");
        }
        catch(Exception ex)
        {
            Console.WriteLine(ex.Message);
        }


    }

У службы тестирования есть метод для распечатать полученный текст на консоль.

...