Backend/Dockerfile

29 lines
493 B
Docker

FROM golang:1.25.5-alpine3.23 as build
RUN apk add --no-cache git ca-certificates tzdata
WORKDIR /58team_blog
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o /blog ./cmd/main.go
FROM alpine:3.23 AS deploy
WORKDIR /58team_blog
RUN addgroup -g 1001 -S appuser && \
adduser -u 1001 -S appuser -G appuser
COPY --from=build /blog /blog
RUN chown -R appuser:appuser /blog
USER appuser
EXPOSE 8080
EXPOSE 5432
CMD ["/blog"]