trpc.group/trpc-go/trpc-cmdline@v1.0.9/Dockerfile (about) 1 FROM golang:alpine AS builder 2 RUN mkdir /app 3 ADD . /app/ 4 WORKDIR /app 5 6 ARG GOPROXY 7 ARG GOSUMDB 8 9 RUN go env -w GOPROXY=${GOPROXY} 10 RUN go env -w GOSUMDB=${GOSUMDB} 11 RUN go mod download 12 RUN go build -o bin/ trpc/trpc.go 13 RUN chmod +x bin/trpc 14 15 # protoc-gen-go 16 RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@latest 17 # mockgen 18 RUN go install go.uber.org/mock/mockgen@latest 19 # goimports 20 RUN go install golang.org/x/tools/cmd/goimports@latest 21 # protoc-gen-validate 22 RUN go install github.com/envoyproxy/protoc-gen-validate@latest 23 RUN go install github.com/envoyproxy/protoc-gen-validate/cmd/protoc-gen-validate-go@latest 24 25 FROM golang:alpine 26 RUN apk update --no-cache && apk add --no-cache protoc flatc 27 28 ARG GOPROXY 29 ARG GOSUMDB 30 31 RUN go env -w GOPROXY=${GOPROXY} 32 RUN go env -w GOSUMDB=${GOSUMDB} 33 34 COPY --from=builder /app/bin/trpc /usr/local/bin/ 35 COPY --from=builder /go/bin /go/bin 36 WORKDIR /workspace 37 RUN trpc setup 38 39 ENTRYPOINT ["trpc"] 40