我试图在docker中部署gRPC服务器和mongodb。之后,我尝试将docker端口绑定到本地端口。 mongodb端口绑定工作正常。但是,gRPC服务器端口未绑定我的本地端口
ports:
- "50051:50051"
我在docker-compose.yml中尝试过的
docker-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())
但是它不起作用。我找不到任何错误,所以我想我做错了什么。
答案 0 :(得分:1)
从主机上的客户端连接时,应使用127.0.0.1:50051
;如果从docker-compose网络连接,则应使用auth_server:50051
。
答案 1 :(得分:0)
如果你在 Windows 上运行它,我会用命令检查“保留的端口范围”
netsh interface ipv4 show excludedportrange protocol=tcp
如果是 linux,请检查主机上是否没有任何内容绑定到该端口。