16 lines
447 B
Docker
16 lines
447 B
Docker
FROM golang:1.26-alpine AS build
|
|
WORKDIR /src
|
|
COPY backend/go.mod backend/go.sum ./
|
|
RUN go mod download
|
|
COPY backend/ ./
|
|
RUN CGO_ENABLED=0 go build -trimpath -o /server ./cmd/server
|
|
|
|
FROM alpine:3.20 AS runner
|
|
RUN adduser -D -H app
|
|
COPY --from=build /server /server
|
|
# /data/books 由宿主 bind(./api/storage)覆盖;/data 下目录预建并授权,兼容 podman
|
|
RUN mkdir -p /data && chown app:app /data
|
|
USER app
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["/server"]
|