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:
@@ -88,6 +88,47 @@ docker build -t registry.meinserver.de/mein-app:1.0 .
|
||||
docker push registry.meinserver.de/mein-app:1.0
|
||||
```
|
||||
|
||||
## Image aus anderer Registry holen (Web-Oberflaeche)
|
||||
|
||||
Im Tab **Images** der Web-Oberflaeche kann ein Image direkt aus einer anderen
|
||||
Registry (z. B. Docker Hub) in diese Registry kopiert werden – ganz ohne
|
||||
lokalen Docker-Client:
|
||||
|
||||
1. Quell-Image eintragen, z. B. `nginx:latest`, `bitnami/redis:7` oder
|
||||
`ghcr.io/owner/app:v1`.
|
||||
2. **Public Images** (Normalfall) brauchen nichts weiter. Bei **privaten**
|
||||
Quell-Images passend ankreuzen:
|
||||
- **Benutzername / Kennwort** – fuer Docker Hub (Access Token als Kennwort)
|
||||
und die meisten Registries.
|
||||
- **Access Token** – fuer Registries mit direktem Bearer-Token.
|
||||
3. Auf **Holen** klicken. Das Image wird per [skopeo](https://github.com/containers/skopeo)
|
||||
inklusive aller Architekturen kopiert und erscheint anschliessend in der Liste
|
||||
der gespeicherten Images.
|
||||
|
||||
Ist ein Image mit dem **gleichen Digest** bereits vorhanden, wird es automatisch
|
||||
uebersprungen – so wird ein Doppel-Upload vermieden, auch wenn der Tag (z. B.
|
||||
`latest`) nicht eindeutig ist.
|
||||
|
||||
### Mehrere Images aus einer docker-compose holen
|
||||
|
||||
Im selben Tab kann der Inhalt einer `docker-compose.yml` in ein Textfeld eingefuegt
|
||||
oder eine Datei hochgeladen werden. Mit **Alle Images holen** werden alle
|
||||
`image:`-Eintraege der Services in die Registry kopiert. Eintraege mit nicht
|
||||
aufgeloesten Variablen (z. B. `${TAG}`) oder die bereits auf diese Registry zeigen,
|
||||
werden uebersprungen.
|
||||
|
||||
## Images loeschen und Speicher aufraeumen (Web-Oberflaeche)
|
||||
|
||||
Im Tab **Images** kann jeder Tag ueber das Muelltonnen-Symbol (mit Rueckfrage)
|
||||
geloescht werden. Der Tag verschwindet sofort, der belegte Speicherplatz wird
|
||||
aber erst durch die **Garbage Collection** freigegeben:
|
||||
|
||||
- Button **Speicher aufraeumen (Garbage Collection)** entfernt alle Daten, die
|
||||
von keinem Image mehr referenziert werden (laeuft direkt ueber die
|
||||
registry-Binary, kein Docker-Socket noetig).
|
||||
- **Wichtig:** Waehrend der Aufraeumung keine Images hochladen – frisch
|
||||
hochgeladene, noch nicht referenzierte Daten koennten sonst entfernt werden.
|
||||
|
||||
## Nuetzliche Befehle
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user