This commit is contained in:
48
Dockerfile
48
Dockerfile
@@ -1,10 +1,20 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
ARG BUILD_BASE_IMAGE=alpine:latest
|
||||
|
||||
FROM ${BUILD_BASE_IMAGE} AS rootfs-stage
|
||||
|
||||
# environment
|
||||
ENV REL=${BUILD_DEBIAN_REL}
|
||||
ENV ARCH=${BUILD_DEBIAN_ARCH}
|
||||
ARG BUILD_APP_VERSION
|
||||
ARG BUILD_S6_ARCH_amd64
|
||||
ARG BUILD_S6_OVERLAY_VERSION
|
||||
ARG ROOTFS=/root-out
|
||||
ARG REL=${BUILD_APP_VERSION}
|
||||
ARG ARCH=x86_64
|
||||
ARG MIRROR=http://dl-cdn.alpinelinux.org/alpine
|
||||
ARG PACKAGES=alpine-baselayout,\
|
||||
alpine-keys,\
|
||||
apk-tools,\
|
||||
busybox,\
|
||||
libc-utils
|
||||
|
||||
# install packages
|
||||
RUN \
|
||||
@@ -14,32 +24,26 @@ RUN \
|
||||
tzdata \
|
||||
xz
|
||||
|
||||
# grab base tarball
|
||||
# build rootfs
|
||||
RUN \
|
||||
mkdir /root-out && \
|
||||
curl -o \
|
||||
/rootfs.tar.gz -L \
|
||||
https://github.com/debuerreotype/docker-debian-artifacts/raw/refs/heads/dist-${ARCH}/${REL}/slim/oci/blobs/rootfs.tar.gz && \
|
||||
tar xf \
|
||||
/rootfs.tar.gz -C \
|
||||
/root-out && \
|
||||
rm -rf \
|
||||
/root-out/var/log/*
|
||||
|
||||
# set version for s6 overlay
|
||||
ARG S6_OVERLAY_VERSION=${BUILD_S6_OVERLAY_VERSION}
|
||||
ARG S6_OVERLAY_ARCH=${BUILD_S6_ARCH_amd64}
|
||||
mkdir -p "${ROOTFS}/etc/apk" && \
|
||||
{ \
|
||||
echo "${MIRROR}/${REL}/main"; \
|
||||
echo "${MIRROR}/${REL}/community"; \
|
||||
} > "${ROOTFS}/etc/apk/repositories" && \
|
||||
apk --root "${ROOTFS}" --no-cache --keys-dir /etc/apk/keys add --arch ${BUILD_S6_ARCH_amd64} --initdb ${PACKAGES//,/ } && \
|
||||
sed -i -e 's/^root::/root:!:/' /root-out/etc/shadow
|
||||
|
||||
# add s6 overlay
|
||||
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
|
||||
ADD https://github.com/just-containers/s6-overlay/releases/download/v${BUILD_S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
|
||||
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-noarch.tar.xz
|
||||
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz /tmp
|
||||
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz
|
||||
ADD https://github.com/just-containers/s6-overlay/releases/download/v${BUILD_S6_OVERLAY_VERSION}/s6-overlay-${BUILD_S6_ARCH_amd64}.tar.xz /tmp
|
||||
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-${BUILD_S6_ARCH_amd64}.tar.xz
|
||||
|
||||
# add s6 optional symlinks
|
||||
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz /tmp
|
||||
ADD https://github.com/just-containers/s6-overlay/releases/download/v${BUILD_S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz /tmp
|
||||
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz && unlink /root-out/usr/bin/with-contenv
|
||||
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz /tmp
|
||||
ADD https://github.com/just-containers/s6-overlay/releases/download/v${BUILD_S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz /tmp
|
||||
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz
|
||||
|
||||
#########################
|
||||
|
||||
Reference in New Issue
Block a user