From 763719ee649d07dd01d24872e54410e7a30afa69 Mon Sep 17 00:00:00 2001 From: Andro Chilab Date: Sat, 11 Apr 2026 11:41:06 +0000 Subject: [PATCH] Dockerfile aktualisiert --- Dockerfile | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index a5cdf64..6624be1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,22 +1,38 @@ -# Base-Image -FROM ubuntu:latest +# Base-Image - Alpine statt Ubuntu +FROM alpine:latest AS build -# Pakete installieren -RUN apt-get update -RUN apt-get install -y build-essential gcc curl vim net-tools +# Build-Tools installieren +RUN apk add --no-cache gcc musl-dev # Arbeitsverzeichnis setzen WORKDIR /app -# alles kopieren -COPY . . - -# Code kompilieren +# Code kopieren und kompilieren +COPY deployment.c . RUN gcc -o deployment deployment.c -# Verzeichnis für Ausgabe anlegen -RUN mkdir /output +# Finales schlankes Image +FROM alpine:latest -# Ausgabe wird ins Container-Dateisystem geschrieben -ENTRYPOINT ["/bin/bash", "-c"] +# Nicht als root laufen +RUN adduser -D appuser + +WORKDIR /app + +# Nur das Binary kopieren +COPY --from=build /app/deployment . + +# Ausgabeverzeichnis anlegen und Rechte setzen +RUN mkdir /output && chown appuser /output + +# Volume für Ausgabe +VOLUME /output + +# User wechseln +USER appuser + +# Healthcheck +HEALTHCHECK --interval=30s --timeout=5s CMD pgrep deployment || exit 1 + +ENTRYPOINT ["/bin/sh", "-c"] CMD ["./deployment 10 > /output/output.txt && tail -f /output/output.txt"] \ No newline at end of file