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