Oliver 68bdfc3a73
Some checks failed
continuous-integration/drone/push Build is failing
Optimize Dockerfile
2026-05-10 09:29:59 +00:00

43 lines
828 B
Docker

# ---------- Build Stage ----------
FROM alpine:latest AS build
# Pakete installieren
RUN apk add --no-cache build-base
# Arbeitsverzeichnis setzen
WORKDIR /app
# alles kopieren
COPY . .
# Code kompilieren
RUN gcc -o deployment deployment.c
# ---------- Runtime Stage ----------
FROM alpine:latest
# Arbeitsverzeichnis setzen
WORKDIR /app
# Benutzer ohne root-Rechte anlegen
RUN adduser -D appuser
# kompiliertes Programm kopieren
COPY --from=build /app/deployment .
# Verzeichnis für Ausgabe anlegen
RUN mkdir /output && chown appuser /output
# Datavolume definieren
VOLUME ["/output"]
# Benutzer wechseln
USER appuser
# HEALTHCHECK
HEALTHCHECK CMD test -f /app/deployment || exit 1
# Ausgabe wird ins Datavolume geschrieben
CMD ["sh", "-c", "./deployment 10 > /output/output.txt && tail -f /output/output.txt"]