42 lines
No EOL
714 B
Docker
42 lines
No EOL
714 B
Docker
FROM golang:1.25.3-alpine3.22 AS builder
|
|
|
|
RUN apk add --no-cache \
|
|
alpine-sdk \
|
|
pkgconfig \
|
|
libjpeg-turbo-dev \
|
|
libpng-dev \
|
|
giflib-dev \
|
|
libwebp-dev \
|
|
libexif-dev \
|
|
glib-dev \
|
|
libffi-dev \
|
|
vips-dev
|
|
|
|
WORKDIR /app
|
|
|
|
COPY go.* ./
|
|
RUN go mod download
|
|
|
|
COPY . .
|
|
|
|
RUN CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o main "./cmd"
|
|
|
|
FROM alpine:3.22
|
|
|
|
RUN apk add --no-cache \
|
|
libjpeg-turbo \
|
|
libpng \
|
|
giflib \
|
|
libwebp \
|
|
libexif \
|
|
glib \
|
|
libffi \
|
|
tzdata \
|
|
ca-certificates
|
|
|
|
COPY --from=builder /usr/lib/vips* /usr/lib/
|
|
COPY --from=builder /app/main /usr/local/bin/app
|
|
|
|
RUN chmod +x /usr/local/bin/app
|
|
|
|
ENTRYPOINT ["app"] |