2022-04-24 09:59:12 +08:00
|
|
|
# Build Stage
|
|
|
|
FROM --platform=$BUILDPLATFORM alpine AS build-env
|
|
|
|
|
2022-01-31 11:51:32 +08:00
|
|
|
COPY ./dist /dist
|
2022-04-22 23:30:39 +08:00
|
|
|
RUN apk add --no-cache ca-certificates
|
|
|
|
|
|
|
|
ARG TARGETPLATFORM
|
|
|
|
RUN case $TARGETPLATFORM in \
|
2022-05-03 18:19:33 +08:00
|
|
|
'linux/386') \
|
2024-12-21 23:36:52 +08:00
|
|
|
export FOLDER='default_linux_386_sse2'; \
|
2022-05-03 18:19:33 +08:00
|
|
|
;; \
|
|
|
|
'linux/amd64') \
|
|
|
|
export FOLDER='default_linux_amd64_v1'; \
|
|
|
|
;; \
|
|
|
|
'linux/arm/v6') \
|
|
|
|
export FOLDER='default_linux_arm_6'; \
|
|
|
|
;; \
|
|
|
|
'linux/arm/v7') \
|
|
|
|
export FOLDER='default_linux_arm_7'; \
|
|
|
|
;; \
|
|
|
|
'linux/arm64') \
|
2024-12-21 23:36:52 +08:00
|
|
|
export FOLDER='default_linux_arm64_v8.0'; \
|
2022-05-03 18:19:33 +08:00
|
|
|
;; \
|
|
|
|
'linux/riscv64') \
|
2024-12-21 23:36:52 +08:00
|
|
|
export FOLDER='default_linux_riscv64_rva20u64'; \
|
2022-05-03 18:19:33 +08:00
|
|
|
;; \
|
|
|
|
*) echo >&2 "error: unsupported architecture '$TARGETPLATFORM'"; exit 1 ;; \
|
|
|
|
esac \
|
|
|
|
&& mv /dist/$FOLDER /app
|
2022-01-31 11:51:32 +08:00
|
|
|
|
2022-04-22 23:30:39 +08:00
|
|
|
|
2022-04-24 09:59:12 +08:00
|
|
|
# Final Stage
|
2022-04-22 23:30:39 +08:00
|
|
|
FROM scratch
|
2022-04-24 09:59:12 +08:00
|
|
|
COPY --from=build-env /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
|
|
|
COPY --from=build-env /app /app
|
2022-01-31 11:51:32 +08:00
|
|
|
WORKDIR /app
|
2022-04-22 23:30:39 +08:00
|
|
|
USER 1000
|
2022-03-11 11:48:22 +08:00
|
|
|
ENTRYPOINT ["./glider"]
|