Files
futur-web-app/server/Dockerfile
2025-11-03 12:24:01 +02:00

31 lines
563 B
Docker

# Use smaller Golang image
FROM golang:alpine AS builder
WORKDIR /app
# Install required dependencies (git for go mod)
RUN apk add --no-cache git
# Copy and download dependencies
COPY go.mod go.sum ./
RUN go mod download && go mod verify
# Copy remaining application files
COPY . .
# Build the application as a statically linked binary
RUN CGO_ENABLED=0 GOOS=linux go build -o main ./cmd/api
# Use minimal final image
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/main .
COPY .env .
# Expose port
EXPOSE 8080
# Run application
CMD ["./main"]