diff --git a/Dockerfile b/Dockerfile index 2d11dd1..c1bc5c2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,22 @@ -# Base-Image -FROM alpine:latest +# Stage 1: Build +FROM alpine:latest AS builder -# Pakete installieren RUN apk add --no-cache build-base gcc +WORKDIR /app + +COPY . . + +RUN gcc -static -o deployment deployment.c + +# Stage 2: Runtime +FROM alpine:latest + RUN addgroup -S appgroup && adduser -S appuser -G appgroup -# Arbeitsverzeichnis setzen WORKDIR /app -# alles kopieren -COPY . . - -# Code kompilieren -RUN gcc -o deployment deployment.c +COPY --from=builder /app/deployment . RUN mkdir /output && chown appuser:appgroup /output @@ -21,10 +24,8 @@ VOLUME ["/output"] USER appuser -#Healthcheck 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/sh", "-c"] CMD ["./deployment 10 > /output/output.txt && tail -f /output/output.txt"] \ No newline at end of file