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"}