Rebase on Alpine
ContainerImages/cfg/pipeline/head This commit looks good Details

Using Alpine instead of Fedora Minimal reduces the size of the final
image from 175 MB to 50 MB.  This should speed up execeution on slow
machines like Raspberry Pis.
main
Dustin 2024-01-19 10:15:25 -06:00
parent d5c20663f6
commit 4bba99f4f2
1 changed files with 7 additions and 29 deletions

View File

@ -1,40 +1,21 @@
FROM registry.fedoraproject.org/fedora-minimal:39 AS build FROM docker.io/library/alpine:3.19
ARG CUE_VERSION=0.7.0
RUN --mount=type=cache,target=/var/cache \ RUN --mount=type=cache,target=/var/cache \
microdnf install -y \ apk add \
--setopt install_weak_deps=0 \
gzip \
tar \
&& ARCH=$(uname -m) \
&& case "${ARCH}" in \
x86_64) ARCH=amd64 ;; \
aarch64) ARCH=arm64 ;; \
esac \
&& url="https://github.com/cue-lang/cue/releases/download/v${CUE_VERSION}/cue_v${CUE_VERSION}_linux_${ARCH}.tar.gz" \
&& curl -fsSL "${url}" \
| tar -C /usr/local/bin -xz cue \
&& :
FROM git.pyrocufflink.net/containerimages/tmpl
RUN --mount=type=cache,target=/var/cache \
--mount=type=bind,from=build,source=/,target=/build \
microdnf install -y \
--setopt install_weak_deps=0 \
age \ age \
git-core \ git \
&& ln -snf /host/etc/passwd /etc/passwd \ && ln -snf /host/etc/passwd /etc/passwd \
&& ln -snf /host/etc/group /etc/group \ && ln -snf /host/etc/group /etc/group \
&& cp -a /build/usr/local/bin/cue /usr/local/bin/ \
&& for cmd in \ && for cmd in \
systemctl \ systemctl \
systemd-sysusers \ systemd-sysusers \
; do ln -s nsenter.sh /usr/local/bin/${cmd}; done \ ; do ln -s nsenter.sh /usr/local/bin/${cmd}; done \
&& : && :
COPY --from=docker.io/cuelang/cue:0.7.0 /usr/bin/cue /usr/local/bin/cue
COPY --from=git.pyrocufflink.net/containerimages/tmpl /tmpl /usr/local/bin/tmpl
COPY nsenter.sh /usr/local/bin/nsenter.sh COPY nsenter.sh /usr/local/bin/nsenter.sh
COPY config.sh / COPY config.sh /
@ -42,6 +23,3 @@ COPY config.sh /
ENTRYPOINT [] ENTRYPOINT []
CMD ["/config.sh"] CMD ["/config.sh"]
LABEL license= \
vendor='Dustin C. Hatch' \