第一版
FROM registry.cn-hangzhou.aliyuncs.com/dwyanewang/alpine:3.20
WORKDIR /root/.bun/bin
ENV PATH $PATH:/root/.bun/bin
COPY glibc-2.35-r1.apk glibc-2.35-r1.apk
COPY glibc-bin-2.35-r1.apk glibc-bin-2.35-r1.apk
COPY bun-linux-x64.zip bun.zip
RUN set -eux && sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories \
&& apk add --allow-untrusted --no-cache --force-overwrite gcompat libstdc++ unzip=6.0-r14 glibc-2.35-r1.apk glibc-bin-2.35-r1.apk \
&& unzip -oq bun.zip \
&& mv bun-linux-x64/bun bun \
&& chmod +X bun \
&& rm -rf bun-linux-x64 bun.zip glibc-2.35-r1.apk glibc-bin-2.35-r1.apk
第二版
FROM registry.cn-hangzhou.aliyuncs.com/dwyanewang/alpine:3.20
COPY bun /usr/local/bin
COPY docker-entrypoint.sh /usr/local/bin
COPY glibc-2.35-r1.apk /tmp/glibc.apk
COPY glibc-bin-2.35-r1.apk /tmp/glibc-bin.apk
WORKDIR /root
RUN set -eux && sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories \
&& apk --no-cache --force-overwrite --allow-untrusted add gcompat /tmp/glibc.apk /tmp/glibc-bin.apk \
&& ln -s /usr/local/bin/bun /usr/local/bin/bunx \
&& rm -rf /tmp/glibc.apk /tmp/glibc-bin.apk
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]