# Basis-Image FROM registry.access.redhat.com/ubi9/ubi-minimal:latest # Metadaten LABEL maintainer="andre@example.org" \ version="1.0" \ description="Beispielanwendung" # Pakete installieren - alles in EINER Schicht RUN microdnf install -y python3 python3-pip && \ microdnf clean all && \ rm -rf /var/cache/yum # Arbeitsverzeichnis WORKDIR /app # Abhängigkeiten zuerst - wegen des Caches, siehe 4.2 COPY requirements.txt . RUN pip3 install --no-cache-dir -r requirements.txt # Erst danach der Anwendungscode COPY src/ ./src/ # Unprivilegierter Benutzer RUN useradd -u 1001 -r -g 0 -m -d /app -s /sbin/nologin appuser && \ chown -R 1001:0 /app && \ chmod -R g=u /app USER 1001 # Dokumentation des Ports (öffnet nichts!) EXPOSE 8080 # Gesundheitsprüfung HEALTHCHECK --interval=30s --timeout=3s --retries=3 \ CMD curl -f http://localhost:8080/health || exit 1 # Startbefehl ENTRYPOINT ["python3"] CMD ["src/app.py"]