From d0c0343a4d963c79bdd190516d6b9f950c97c3a8 Mon Sep 17 00:00:00 2001 From: Ludwig Schramm Date: Wed, 13 May 2026 14:40:03 +0000 Subject: [PATCH] Dockerfile optimiert --- .dockerignore | 5 ++++- Dockerfile | 39 +++++++++++++++++++++++++-------------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/.dockerignore b/.dockerignore index 60b028c..478804d 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1,5 @@ .git -.gitignore \ No newline at end of file +.drone.yml +README.md +*.tar +*.tar.gz diff --git a/Dockerfile b/Dockerfile index a5cdf64..cfeaf30 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,22 +1,33 @@ -# Base-Image -FROM ubuntu:latest +FROM alpine:3.23 AS builder -# Pakete installieren -RUN apt-get update -RUN apt-get install -y build-essential gcc curl vim net-tools +RUN apk upgrade --no-cache && apk add --no-cache gcc musl-dev -# Arbeitsverzeichnis setzen WORKDIR /app -# alles kopieren COPY . . -# Code kompilieren -RUN gcc -o deployment deployment.c +RUN gcc -O2 -o deployment deployment.c -# Verzeichnis für Ausgabe anlegen -RUN mkdir /output -# Ausgabe wird ins Container-Dateisystem geschrieben -ENTRYPOINT ["/bin/bash", "-c"] -CMD ["./deployment 10 > /output/output.txt && tail -f /output/output.txt"] \ No newline at end of file +FROM alpine:3.23 + +RUN apk upgrade --no-cache + +WORKDIR /app + +COPY --from=builder /app/deployment /app/deployment + +RUN addgroup -S appuser \ +&& adduser -S appuser -G appuser \ +&& mkdir /output \ +&& chown -R appuser:appuser /app /output + +VOLUME ["/output"] + +USER appuser + +HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ +CMD test -s /output/output.txt || exit 1 + +ENTRYPOINT ["/bin/sh", "-c"] +CMD ["./deployment 10 2>&1 | tee /output/output.txt"]