21 lines
629 B
Docker
21 lines
629 B
Docker
FROM golang:1.25.7-alpine3.23 AS builder
|
|
WORKDIR /workspace
|
|
RUN apk add --no-cache git
|
|
|
|
# copy monorepo workspace and modules needed for user service
|
|
COPY go.work .
|
|
COPY common ./common
|
|
COPY services/user ./services/user
|
|
|
|
# download deps and build binary
|
|
RUN cd services/user && go mod download
|
|
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /workspace/bin/user-service ./services/user
|
|
|
|
FROM alpine:3.19
|
|
RUN apk add --no-cache tzdata && adduser -D -u 10001 app
|
|
ENV TZ=Asia/Shanghai
|
|
USER app
|
|
COPY --from=builder /workspace/bin/user-service /usr/local/bin/user-service
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["/usr/local/bin/user-service"]
|