Das Image ausführen
Das Image läuft überall, wo ein Image läuft: auf einem Laptop, in einem CI-Job, auf einem Server oder in Kubernetes. Der Tab Schnellstart des Backends hat die Befehle für jede Möglichkeit, mit deiner Registry, deinem Image-Namen und deiner Version schon eingetragen.
Auf dieser Seite steht <image> für dein Image mit seiner Version, etwa <deine-org>.registry.mockzilla.org/ci-payments:v2026.09.23.3.
Wie du es betreibst
- Ausprobieren: auf einem Laptop oder in einem CI-Job. Alles bleibt im Arbeitsspeicher, ein Neustart beginnt also bei null.
- Ein Server: behält seinen Stand über Neustarts hinweg, in einer SQLite-Datei auf einem Volume.
- Mit Datenbank: eine compose-Datei mit PostgreSQL, damit sich mehrere Kopien eine Datenbank teilen.
- Kubernetes: ein Deployment, das sein Image mit einem Secret lädt und seine Storage-Einstellungen aus einem zweiten liest.
Für jede brauchst du einen Registry-Zugang.
Siehe Dein Image herunterladen.
Ausprobieren
docker login <deine-org>.registry.mockzilla.org
docker run --rm -p 2200:2200 <image>Prüf dann, ob es antwortet:
curl http://localhost:2200/healthzDer API-Explorer liegt unter http://localhost:2200, außer du hast ihn ausgeschaltet.
Gut zu wissen
- Es läuft auf Port 2200. Setz
APP_BASE_URLauf die Adresse, die deine Clients nutzen, sonst bleiben Links in seinen Antworten relativ. - Es läuft als Benutzer 65532. Ein Volume, auf das es schreibt, muss diesem Benutzer gehören. Leg das Volume auf eine lokale Platte: Ein von macOS oder Windows geteilter Ordner oder NFS verliert Schreibvorgänge.
- Es startet nicht, wenn es seinen Storage nicht erreicht. Es fällt nie auf den Arbeitsspeicher zurück.
docker run --rm <image> aboutlistet, was das Image enthält: seine Build-Details, seine Services, seine SBOMs und seinen Sicherheitsbericht.
Eine Einstellung beim Start ändern
Das Image startet mit den Werten aus den Laufzeit-Standardwerten des Backends. Jeder ist eine Umgebungsvariable, und ein Wert, den du beim Start mitgibst, gewinnt gegen den im Image:
APP_DISABLE_UI:trueblendet den API-Explorer aus.ROUTER_HISTORY_ENABLED:falsebeendet das Aufzeichnen von Requests und Antworten.ROUTER_REPLAY_ENABLED:trueschaltet Replay ein.
Zum Beispiel:
docker run -e ROUTER_HISTORY_ENABLED=false <image>Der Storage hat eigene Variablen.
Siehe Storage-Treiber.
Eigene Dateien ohne neuen Build
Das Image enthält die Kontexte, Szenarien und Service-Konfiguration, die du im Arbeitsbereich festgelegt hast. Um sie ohne neuen Build zu ändern, bind einen Ordner unter /etc/mockzilla/config ein oder zeig mit MZ_CONFIG_DIR auf einen. Er enthält einen Ordner pro Service:
services/<route key>/setup/context.yml
services/<route key>/setup/scenarios.yml
services/<route key>/setup/config.ymlEine Datei, die du einbindest, ersetzt die gleichnamige Datei im Image. Eine Datei, die du weglässt, bleibt die aus dem Image.
Als Ausgangspunkt nimm data.mockz aus den Dateien, die zum Image gehören. Es ist ein .tar.gz mit denselben Ordnern, und tar -xzf data.mockz entpackt es.
Die Lizenz zur Laufzeit
Das Image liest seine Lizenz beim Start und prüft sie stündlich. Was es braucht, hängt davon ab, wie es seine Lizenz bekommt:
- Im Image enthalten: nichts einzustellen. Für eine neuere Lizenz bindest du die Datei unter
/etc/mockzilla/license.jsonein. - Von uns abgerufen: einen Weg zum Hostnamen deiner Registry. Behalte ein Volume unter
/var/lib/mockzilla, damit ein neuer Container mit der Lizenz startet, die schon abgerufen wurde.
Ist seine Lizenz abgelaufen, beantwortet ein laufendes Image jeden Request mit einem Fehler, und ein neues startet nicht.
Siehe Lizenzen.