连接到在Docker上运行的grpc服务器时出现DNS解析失败错误

时间:2020-04-13 13:16:39

标签: docker grpc-dotnet

我正在尝试访问显示9000端口并作为docker容器运行的grpc服务器。

我正在使用.net核心客户端连接到服务器。当GRPC服务器未作为docker容器运行时,它工作得很好。

从客户端创建通道时,我尝试同时使用“ localhost”,“ dockerconatiner-ip”。我在“ 0.0.0.0”和端口9000上运行grpc服务器。

docker命令: docker run -p 9000:9000 -a stdin -a stdout -it

错误: 状态(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"]

服务主:

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);
        }


    }

测试服务提供了一种将接收到的文本打印到控制台的方法。

0 个答案:

没有答案