diff --git a/Dockerfile b/Dockerfile index 04cf73c..bb2edaf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,7 @@ # Base-Image -FROM alpine:latest +FROM alpine:latest AS builder # Pakete installieren -RUN apk upgrade --no-cache RUN apk add --no-cache build-base # Arbeitsverzeichnis setzen @@ -14,8 +13,25 @@ COPY . . # Code kompilieren RUN gcc -o deployment deployment.c +# Stage 2 +FROM alpine:latest + +RUN apk upgrade --no-cache + +RUN addgroup -S stdgroup && adduser -S stduser -G stdgroup + +WORKDIR /app + +COPY --from=builder /app/deployment . + + # Verzeichnis für Ausgabe anlegen -RUN mkdir /output +RUN mkdir /output && chown stduser:stdgroup /output + +VOLUME ["/output"] +USER stduser + +HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 CMD test -f /output/output.txt || exit 1 # Ausgabe wird ins Container-Dateisystem geschrieben ENTRYPOINT ["/bin/bash", "-c"]