mirror of
https://github.com/oven-sh/bun
synced 2026-02-02 15:08:46 +00:00
There's an override error with latest alpine and various versions of glibc (including 2.35): https://github.com/sgerrand/alpine-pkg-glibc/issues/185 This MR proposes a workaround (tested on fly.io - it works) so that it's possible to have bun usable with minimal linux dependencies.
42 lines
962 B
Docker
42 lines
962 B
Docker
### GLOBALS ###
|
|
ARG GLIBC_RELEASE=2.34-r0
|
|
|
|
|
|
### GET ###
|
|
FROM alpine:latest as get
|
|
|
|
# prepare environment
|
|
WORKDIR /tmp
|
|
RUN apk --no-cache add unzip
|
|
|
|
# get bun
|
|
ADD https://github.com/oven-sh/bun/releases/latest/download/bun-linux-x64.zip bun-linux-x64.zip
|
|
RUN unzip bun-linux-x64.zip
|
|
|
|
# get glibc
|
|
ARG GLIBC_RELEASE
|
|
RUN wget https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
|
|
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_RELEASE}/glibc-${GLIBC_RELEASE}.apk
|
|
|
|
|
|
### IMAGE ###
|
|
FROM alpine:latest
|
|
|
|
# install bun
|
|
COPY --from=get /tmp/bun-linux-x64/bun /usr/local/bin
|
|
|
|
# prepare glibc
|
|
ARG GLIBC_RELEASE
|
|
COPY --from=get /tmp/sgerrand.rsa.pub /etc/apk/keys
|
|
COPY --from=get /tmp/glibc-${GLIBC_RELEASE}.apk /tmp
|
|
|
|
# install glibc
|
|
RUN apk --no-cache --force-overwrite add /tmp/glibc-${GLIBC_RELEASE}.apk && \
|
|
|
|
# cleanup
|
|
rm /etc/apk/keys/sgerrand.rsa.pub && \
|
|
rm /tmp/glibc-${GLIBC_RELEASE}.apk && \
|
|
|
|
# smoke test
|
|
bun --version
|