mirror of
https://github.com/keven1024/015.git
synced 2026-05-26 23:19:37 +00:00
30 lines
868 B
Docker
30 lines
868 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
FROM golang:1.25.5 AS builder
|
|
|
|
# Set destination for COPY
|
|
WORKDIR /app
|
|
|
|
# Download Go modules
|
|
COPY go.mod go.sum ./
|
|
|
|
RUN go env -w GO111MODULE=on && go env -w GOPROXY=https://goproxy.cn,direct && go mod download
|
|
|
|
# Copy the source code. Note the slash at the end, as explained in
|
|
# https://docs.docker.com/engine/reference/builder/#copy
|
|
COPY go.work go.work.sum ./
|
|
COPY worker/ ./worker/
|
|
COPY pkg/ ./pkg/
|
|
RUN go env -w GO111MODULE=on && go env -w GOPROXY=https://goproxy.cn,direct && \
|
|
(cd worker && go mod download) && \
|
|
(cd pkg/utils && go mod download) && \
|
|
(cd pkg/models && go mod download) && \
|
|
(cd pkg/services && go mod download)
|
|
|
|
# Build
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -o worker
|
|
|
|
FROM alpine:3
|
|
RUN apk add --no-cache pngquant jpegoptim
|
|
COPY --from=builder /app/worker /bin/worker
|
|
ENTRYPOINT ["/bin/worker"] |