FROM alpine:3.20 # gcc installieren RUN apk add --no-cache gcc musl-dev # Arbeitsverzeichnis WORKDIR /app # Dateien kopieren COPY deployment.c . # Programm kompilieren RUN gcc -O2 -o deployment deployment.c # Non-root User RUN addgroup -S appgroup && adduser -S appuser -G appgroup # Output-Verzeichnis RUN mkdir /output && chown -R appuser:appgroup /output /app # Datavolume VOLUME ["/output"] # User wechseln USER appuser # Healthcheck HEALTHCHECK CMD test -f /output/output.txt || exit 1 # Anwendung starten CMD ["/bin/sh", "-c", "./deployment 10 > /output/output.txt"] # Start CMD ["/app/deployment", "10"]