Dockerfile 672 bytes
# Dockerfile
FROM golang:1.23-alpine AS builder
WORKDIR /app
# Копируем go.mod и go.sum, скачиваем зависимости
COPY ../go.mod go.sum ./
RUN go mod download
# Копируем исходный код
COPY .. .
# Генерация OpenAPI серверной части (go:generate)
RUN go generate ./internal/productassistant
# Собираем приложение (например, код сервера находится в cmd)
RUN CGO_ENABLED=0 go build -ldflags="-s -w" -o app ./cmd
# Финальный образ на основе scratch
FROM scratch
COPY --from=builder /app/app /app/app
EXPOSE 8080
ENTRYPOINT ["/app/app"]