From 156bf8ea59ff27d200f887282d81140f0bb78ece Mon Sep 17 00:00:00 2001 From: rummelti95232 Date: Fri, 15 May 2026 15:38:10 +0000 Subject: [PATCH] Optimize Dockerfile --- Dockerfile | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index a5cdf64..c6ad098 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,22 +1,29 @@ -# Base-Image -FROM ubuntu:latest +FROM alpine:3.20 AS builder -# Pakete installieren -RUN apt-get update -RUN apt-get install -y build-essential gcc curl vim net-tools +RUN apk add --no-cache build-base + +WORKDIR /app +COPY deployment.c . + +RUN gcc -O2 -o deployment deployment.c + + +FROM alpine:3.20 + +RUN addgroup -S appgroup && adduser -S appuser -G appgroup -# Arbeitsverzeichnis setzen WORKDIR /app -# alles kopieren -COPY . . +COPY --from=builder /app/deployment /app/deployment -# Code kompilieren -RUN gcc -o deployment deployment.c +RUN mkdir -p /output && chown -R appuser:appgroup /app /output -# Verzeichnis für Ausgabe anlegen -RUN mkdir /output +USER appuser -# 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 +VOLUME ["/output"] + +HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ + CMD test -f /output/output.txt || exit 1 + +ENTRYPOINT ["/bin/sh", "-c"] +CMD ["./deployment 10 >> /output/output.txt && tail -f /output/output.txt"]