From ce8c010d2f87e7b74065619ce698058b37d24106 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Mon, 1 Jan 2024 18:59:49 +0100 Subject: add docker setup for static builds using alpine --- Dockerfile.alpine | 16 ++++++++++++++++ build-alpine.sh | 4 ++++ 2 files changed, 20 insertions(+) create mode 100644 Dockerfile.alpine create mode 100755 build-alpine.sh diff --git a/Dockerfile.alpine b/Dockerfile.alpine new file mode 100644 index 0000000..a16b827 --- /dev/null +++ b/Dockerfile.alpine @@ -0,0 +1,16 @@ +FROM alpine:latest + +RUN apk update \ + && apk --no-cache --update add build-base + +WORKDIR /bin.alpine + +COPY nitro.c . +COPY nitroctl.c . +COPY Makefile . + +RUN make CFLAGS="-Os -Wl,--gc-sections -fno-asynchronous-unwind-tables -fno-stack-protector -fno-stack-clash-protection" LDFLAGS="-static" + +RUN nm --size-sort nitro +RUN ls -l nitro nitroctl +RUN size nitro nitroctl diff --git a/build-alpine.sh b/build-alpine.sh new file mode 100755 index 0000000..fe5e4cb --- /dev/null +++ b/build-alpine.sh @@ -0,0 +1,4 @@ +#!/bin/sh -e +rm -rf bin.alpine +docker build -f Dockerfile.alpine --progress=plain --iidfile=id.alpine . +docker save $(cat id.alpine) | bsdtar xO '*/layer.tar' | bsdtar xv --ignore-zeros bin.alpine/nitro bin.alpine/nitroctl -- cgit 1.4.1