Images aus Fremd-Registries holen, loeschen und Speicher aufraeumen
Tab "Images" um Verwaltungsfunktionen erweitert: - Einzel-Pull: Image aus anderer Registry (z. B. Docker Hub) per skopeo in die eigene Registry kopieren, optional mit Benutzername/Kennwort oder Access Token fuer private Quell-Registries - Bulk-Pull: alle image-Eintraege einer docker-compose (Textfeld oder Datei-Upload) auf einmal holen; Variablen/eigene Registry werden ignoriert - Digest-Dedup: bereits mit gleichem Digest vorhandene Images werden uebersprungen (kopiert mit --all, damit Multi-Arch-Digests matchen) - Loeschen: Muelltonne hinter jedem Tag mit Rueckfrage - Garbage Collection: gibt belegten Speicher frei, laeuft per registry-Binary (Multi-Stage-Build) direkt auf dem gemounteten Speicher, kein Docker-Socket gunicorn: 1 Worker (gemeinsames Service-Passwort) + 8 Threads, Timeout 1800s fuer lange Kopiervorgaenge. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+13
-1
@@ -1,7 +1,15 @@
|
||||
# Die registry-Binary aus dem offiziellen Image uebernehmen (fuer Garbage Collection)
|
||||
FROM registry:2 AS registry
|
||||
|
||||
FROM python:3.12-alpine
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# skopeo wird benoetigt, um Images aus anderen Registries zu kopieren
|
||||
RUN apk add --no-cache skopeo
|
||||
# registry-Binary fuer "registry garbage-collect"
|
||||
COPY --from=registry /bin/registry /usr/local/bin/registry
|
||||
|
||||
COPY requirements.txt .
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
@@ -9,4 +17,8 @@ COPY . .
|
||||
|
||||
EXPOSE 5000
|
||||
|
||||
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--workers", "1", "app:app"]
|
||||
# 1 Worker (gemeinsames Service-Passwort) + mehrere Threads fuer parallele
|
||||
# Anfragen, waehrend ein skopeo-Kopiervorgang laeuft.
|
||||
# Langes Timeout, da das Kopieren grosser Images mehrere Minuten dauern kann.
|
||||
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--workers", "1", "--threads", "8", \
|
||||
"--timeout", "1800", "app:app"]
|
||||
|
||||
Reference in New Issue
Block a user