我有一個(gè)具有給定文件夾結(jié)構(gòu)的 git repogrpc-repo|---grpc-client (:8083)|---grpc-server (:9000)|---docker-compose.yml|---Dockerfile|---Dockerfile2現(xiàn)在,這些 gRPC 客戶端-服務(wù)器項(xiàng)目正在正常無(wú)縫運(yùn)行。但是,我需要對(duì)這個(gè)項(xiàng)目進(jìn)行 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將項(xiàng)目docker化后,我很容易連接到gRPC客戶端..但是客戶端無(wú)法連接到gRPC服務(wù)器。它說(shuō) ...rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial tcp :9000: connect: connection refused這就是我在我的 golang 代碼中創(chuàng)建與服務(wù)器的連接的方式conn, err := grpc.Dial(":9000", grpc.WithInsecure())if err != nil { log.Fatalf("could not connect: %s", err)}誰(shuí)能幫我解決我在這里做錯(cuò)了什么?提前致謝 !
1 回答

慕的地10843
TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
要從另一個(gè)容器訪問(wèn)在 docker 容器中運(yùn)行的 gRPC,您必須使用 DNS 解析。
grpc.Dial("dns:///grpc-server:9000", grpc.WithInsecure())
您在其中grpc-server
聲明的容器名稱在哪里container_name: grpc-server
- 1 回答
- 0 關(guān)注
- 205 瀏覽
添加回答
舉報(bào)
0/150
提交
取消