🔧 BUILD FIX: Non-Root-User korrekt platzieren (USER direkt nach erstellung)
docker-build-and-push / build (push) Successful in 1m49s

This commit is contained in:
KI-Sparringpartner
2026-08-03 16:32:30 +02:00
parent c6c527c011
commit 09e7ebba1c
+9 -9
View File
@@ -3,20 +3,20 @@ FROM python:3.12-slim
WORKDIR /app WORKDIR /app
# Git und System-Tools installieren (ESSENTIUELL!) # Git und System-Tools installieren + User erstellen
RUN apt-get update && \ RUN apt-get update && \
apt-get install -y git && \ apt-get install -y git curl && \
rm -rf /var/lib/apt/lists/* && \ rm -rf /var/lib/apt/lists/* && \
adduser --disabled-password --gecos "" appuser #✅ NEU: Nutzer erstellen! adduser --disabled-password --gecos "" appuser #✅ USER ZUERST ERSTELLEN!
# Abhängigkeiten installieren als app-user # AB HIER ALLE AKTIONEN ALS appuser DURCHFUHREN:
RUN chown -R appuser:appuser /app USER appuser
USER appuser #✅ WICHTIG: Jetzt laeuft der Container als 'appuser'! # Abhängigkeiten installieren (als appuser!)
COPY requirements.txt .
COPY --chown=appuser:appuser requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt RUN pip install --no-cache-dir -r requirements.txt
# Applikation kopieren mit korrekten Besitzern:
COPY --chown=appuser:appuser app/ ./app COPY --chown=appuser:appuser app/ ./app
# Setze PYTHONPATH damit Imports funktionieren # Setze PYTHONPATH damit Imports funktionieren
@@ -25,5 +25,5 @@ ENV PYTHONPATH=/app
# Exponierter Port # Exponierter Port
EXPOSE 8000 EXPOSE 8000
# Starte den Server als Nicht-Root! # Starte den Server als Non-Root!
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]