From d1af30ee5afb45ac08768a21b5c5d5cad8d004b3 Mon Sep 17 00:00:00 2001 From: JustSong Date: Sat, 1 Feb 2025 13:27:21 +0800 Subject: [PATCH] chore: use ubuntu to replace alpine --- Dockerfile | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 36c54621..0766010c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,9 +14,12 @@ RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat /web/default/VERSION) n DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat /web/air/VERSION) npm run build --prefix /web/air & \ wait -FROM golang:alpine AS builder2 +FROM golang AS builder2 -RUN apk add --no-cache g++ gcc musl-dev libc-dev sqlite-dev build-base +RUN apt-get update && apt-get install -y --no-install-recommends \ + build-essential \ + sqlite3 libsqlite3-dev \ + && rm -rf /var/lib/apt/lists/* ENV GO111MODULE=on \ CGO_ENABLED=1 \ @@ -25,20 +28,26 @@ ENV GO111MODULE=on \ CGO_LDFLAGS="-L/usr/lib" WORKDIR /build + ADD go.mod go.sum ./ RUN go mod download + COPY . . COPY --from=builder /web/build ./web/build -RUN go build -trimpath -ldflags "-s -w -X 'github.com/songquanpeng/one-api/common.Version=$(cat VERSION)' -extldflags '-static'" -o one-api -FROM alpine +RUN go build -trimpath \ + -ldflags "-s -w -X 'github.com/songquanpeng/one-api/common.Version=$(cat VERSION)' -extldflags '-static'" \ + -o one-api -RUN apk update \ - && apk upgrade \ - && apk add --no-cache ca-certificates tzdata \ - && update-ca-certificates 2>/dev/null || true +# Final runtime image +FROM ubuntu:minimal + +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates tzdata bash \ + && rm -rf /var/lib/apt/lists/* COPY --from=builder2 /build/one-api / + EXPOSE 3000 WORKDIR /data ENTRYPOINT ["/one-api"] \ No newline at end of file