meteologica/service_a/Dockerfile

30 lines
526 B
Docker

FROM golang:1.25.2-alpine3.22 AS builder
WORKDIR /app
COPY pkg/ ./pkg/
COPY service_a/go.mod service_a/go.sum ./service_a/
COPY service_a/server/ ./service_a/server/
COPY service_a/internal/ ./service_a/internal/
COPY service_a/assets/ ./service_a/assets/
WORKDIR /app/service_a
RUN go mod download
RUN go test ./... -v
RUN rm -rf ./assets/
RUN go build -o /app/bin/service_a ./server/main.go
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/bin/service_a /app/service_a
EXPOSE 8080
CMD ["/app/service_a"]