0

我尝试在 docker 中部署 gRPC 服务器和 mongodb。之后,我尝试将 docker 端口绑定到我的本地端口。mongodb 端口绑定工作正常。但是,gRPC 服务器端口没有绑定我的本地端口

ports:
  - "50051:50051"

像这样我在 docker-compose.yml 中尝试过

码头工人-compose.yml

services:
  auth_server:
    container_name: auth_service
    build: .
    command: go run server.go
    volumes:
      - .:/go/src/auth_server
    working_dir: /go/src/auth_server
    ports:
      - "50051:50051"
    environment:
      PORT: 50051

在客户端 gRPC 文件中,我使用了主机和端口,例如0.0.0.0:50051

conn, err := grpc.Dial("0.0.0.0:50051", grpc.WithInsecure())

但它不起作用。我找不到任何错误,所以我认为我做错了什么。

4

2 回答 2

1

127.0.0.1:50051当从主机上的客户端连接时,或者auth_server:50051从 docker-compose 网络连接时,您应该使用。

于 2019-05-05T09:31:51.763 回答
0

如果您在 Windows 上运行它,我将使用命令检查“保留端口范围”

 netsh interface ipv4 show excludedportrange protocol=tcp

另请参阅github 上的此线程

如果是 linux,请检查主机上的任何内容是否绑定在该端口上。

于 2021-01-12T09:07:34.747 回答