Error when use Go-Micro with docker-compose

729 views Asked by At

I have used micro v3 to write my service. It work on local but I want to use docker-compose to deploy my service.

My service is pubsub example but I got error:

file=grpc/grpc.go:954 level=error Server register error: {"Id":"go.micro.client","Code":500,
"Detail":"Error creating stream: rpc error: code = Unavailable desc = connection error: 
desc = \"transport: Error while dialing dial tcp :8003: connect: connection refused\"","Status":"Internal Server Error"}

My docker-compose file:

version: "3"
services:
  pubsub:
    build:
      context: ../pubsub
      dockerfile: ../deployment/pubsub.Dockerfile
    environment:
      MICRO_REGISTRY_ADDRESS: "micro:8000"
      MICRO_BROKER_ADDRESS: "micro:8003"
  micro:
    image: micro/micro
    command: ["server"]
    container_name: micro

pubsub.Dockerfile

FROM golang:alpine AS builder
# Copy the application source code.
COPY ./ /src
WORKDIR /src
# Build the application.
RUN make proto
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
    go build -o service *.go

FROM alpine:latest
COPY --from=builder /src/service /bin/service
ENTRYPOINT [ "/bin/service" ]

Full log:

micro   | 2020-09-03 06:18:45  file=server/server.go:111 level=info Starting server
micro   | 2020-09-03 06:18:45  file=server/server.go:122 level=info Registering network
micro   | 2020-09-03 06:18:45  file=server/server.go:122 level=info Registering runtime
micro   | 2020-09-03 06:18:45  file=server/server.go:122 level=info Registering registry
micro   | 2020-09-03 06:18:45  file=server/server.go:122 level=info Registering config
micro   | 2020-09-03 06:18:45  file=server/server.go:122 level=info Registering store
micro   | 2020-09-03 06:18:45  file=server/server.go:122 level=info Registering broker
micro   | 2020-09-03 06:18:45  file=server/server.go:122 level=info Registering events
micro   | 2020-09-03 06:18:45  file=server/server.go:122 level=info Registering auth
micro   | 2020-09-03 06:18:45  file=server/server.go:122 level=info Registering proxy
micro   | 2020-09-03 06:18:45  file=server/server.go:122 level=info Registering api
micro   | 2020-09-03 06:18:45  file=server/server.go:187 level=info Starting server runtime
micro   | 2020-09-03 06:18:45  file=service/service.go:195 level=info Starting [service] server
micro   | 2020-09-03 06:18:45  file=grpc/grpc.go:902 level=info Server [grpc] Listening on [::]:10001
micro   | 2020-09-03 06:18:45  file=grpc/grpc.go:732 level=info Registry [mdns] Registering node: server-8954ce69-c64c-47a3-9c56-3ee7e831baf0
pubsub  | 2020-09-03 06:18:48  file=service/service.go:195 level=info Starting [service] pubsub
pubsub  | 2020-09-03 06:18:48  file=grpc/grpc.go:898 level=info Server [grpc] Listening on [::]:39391
pubsub  | 2020-09-03 06:18:48  file=grpc/grpc.go:915 level=info Broker [service] Connected to :8003
pubsub  | 2020-09-03 06:18:48  file=grpc/grpc.go:728 level=info Registry [service] Registering node: pubsub-a31ed470-544d-4ee9-af7e-e01cc162dbf2
pubsub  | 2020-09-03 06:18:48  file=grpc/grpc.go:757 level=info Subscribing to topic: messages
pubsub  | 2020-09-03 06:18:48  file=grpc/grpc.go:922 level=error Server register error: {"Id":"go.micro.client","Code":500,"Detail":"Error creating stream: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial tcp :8003: connect: connection refused\"","Status":"Internal Server Error"}
0

There are 0 answers