为了账号安全,请及时绑定邮箱和手机立即绑定

无法连接到我的容器化 gRPC 服务器

无法连接到我的容器化 gRPC 服务器

Go
MMTTMM 2022-10-17 15:47:36
我有一个具有给定文件夹结构的 git repogrpc-repo|---grpc-client (:8083)|---grpc-server (:9000)|---docker-compose.yml|---Dockerfile|---Dockerfile2现在,这些 gRPC 客户端-服务器项目正在正常无缝运行。但是,我需要对这个项目进行 docker 化。下面给出的是我的docker-compose.ymlversion: "3.3"services:  client:    container_name: grpc-client    build:      dockerfile: Dockerfile      context: .    volumes:      - .:/app    ports:      - 8083:8083    networks:      - my-network  server:    container_name: grpc-server    build:      dockerfile: Dockerfile2      context: .    volumes:      - .:/app    ports:      - 9000:9000    networks:      - my-networknetworks:  my-network:    driver: bridge将项目docker化后,我很容易连接到gRPC客户端..但是客户端无法连接到gRPC服务器。它说 ...rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial tcp :9000: connect: connection refused这就是我在我的 golang 代码中创建与服务器的连接的方式conn, err := grpc.Dial(":9000", grpc.WithInsecure())if err != nil {    log.Fatalf("could not connect: %s", err)}谁能帮我解决我在这里做错了什么?提前致谢 !
查看完整描述

1 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

要从另一个容器访问在 docker 容器中运行的 gRPC,您必须使用 DNS 解析。

grpc.Dial("dns:///grpc-server:9000", grpc.WithInsecure())

您在其中grpc-server声明的容器名称在哪里container_name: grpc-server


查看完整回答
反对 回复 2022-10-17
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信