Ihre Docker-Installation funktioniert nicht richtig – kein Speicherplatz mehr auf dem Gerät – ist es sicher, ./launcher cleanup zu verwenden?

Ich bekomme das Problem Ihre Docker-Installation funktioniert nicht richtig, nachdem ich ./launcher rebuild app. ausgeführt habe.

Der Fehler lautet docker: failed to register layer: Error processing tar file(exit status 1): write /usr/lib/x86_64-linux-gnu/libx265.a: no space left on device.

…Ich sehe einen der häufigsten Tipps zur Behebung dieses Problems ist ./launcher cleanup, aber bevor ich das tue, möchte ich sichergehen, dass es sicher zu verwenden ist, da ich Folgendes erhalte:
WARNUNG! Dies entfernt alle gestoppten Container.
WARNUNG! Dies entfernt alle Images, denen kein Container zugeordnet ist.

Hilft das? Ich möchte nur sicherstellen, dass ich hier nichts Wichtiges lösche.

docker ps -a

docker images

Es ist definitiv die empfohlene Option:

Wenn Sie jedoch sicherstellen möchten, dass Ihre Website läuft, bevor Sie auf den Knopf drücken, können Sie zuerst ./launcher start app ausführen.

3 „Gefällt mir“

Das Ausführen von ./launcher start app gibt denselben Fehler aus:

docker: failed to register layer: Error processing tar file(exit status 1): write /usr/lib/x86_64-linux-gnu/libx265.a: no space left on device.
See 'docker run --help'.
Your Docker installation is not working correctly

…daher weiß ich immer noch nicht, ob die Antwort auf die Frage lautet: Ist es sicher, ./launcher cleanup zu verwenden, wenn die Website nicht läuft?

Aus dem Screenshot unter ‘docker images’ im oberen Beitrag scheint es viele ältere Images zu geben, aber ich weiß nicht, wie ich sie gezielt löschen kann und ob dies Probleme verursachen würde.

df

Wenn der Docker-Container läuft, wird er den Container nicht löschen. Wenn der Container nicht läuft, wird er den Container löschen, aber Sie können einen neuen mit ./launcher rebuild app neu erstellen.

2 „Gefällt mir“

Vielen Dank, aber es ist mir immer noch nicht ganz klar – Docker ist nicht meine Stärke, daher weiß ich nicht, ob das Löschen und Neuerstellen eines Containers etwas auf meiner Website durcheinander bringen würde … Wäre es sicherer, die App zuerst zum Laufen zu bringen, indem etwas Speicherplatz freigegeben wird? Zum Beispiel so:

  1. Zuerst etwas Speicherplatz freigeben, indem ein bestimmtes Image zum Löschen ausgewählt wird
  2. Dann ./launcher start app ausführen
  3. Sobald die App läuft: ./launcher cleanup

… ich bin mir nicht sicher, ob diese Vorsicht nötig ist. Vielleicht würde es ausreichen, einfach ./launcher cleanup auszuführen, ohne etwas Wichtiges zu löschen, auch wenn meine App nicht läuft.

Aber falls Sie denken, dass der obige Ansatz eine Option sein könnte: Kennen Sie den Befehl, um ein bestimmtes Image zum Löschen auszuwählen (Schritt 1 oben)? Sehen Sie unten meine Optionen für die zu löschenden Images.

Ich würde zuerst ein oder zwei Backups löschen? Das sollte Ihnen genügend Platz verschaffen, damit die Dinge funktionieren.

Wenn Sie ./launcher start app ausführen, dann löscht ./launcher cleanup nicht Ihr Image, das funktioniert, und Ihre Website wird während des Bereinigungsvorgangs weiter funktionieren.

Wenn Sie aus irgendeinem Grund einen Fehler machen und Ihr funktionierendes Image löschen und kürzlich ein Upgrade durchgeführt haben, besteht eine ziemlich gute Chance, dass Sie einfach ./launcher rebuild app ausführen und wieder in Ordnung sind.

1 „Gefällt mir“

Kennen Sie den Befehl, um nur ein oder zwei Backups zu löschen? Vielleicht so etwas wie ./launcher cleanup [ID des Images]?

Ich glaube nicht, dass ./launcher cleanup Backups entfernt, sondern nur nicht verwendete Container.

cd /var/discourse/shared/standalone/backups/default
ls 
rm file-to-delete
1 „Gefällt mir“

Habe ich versucht

cd /var/discourse/shared/standalone/backups/default
ls
rm oldest-file

…fehlgeschlagen mit Speicherproblem wie zuvor

habe ich ./launcher cleanup versucht

4 GB bereinigt

…fehlgeschlagen mit neuen Fehlern

Habe ./discourse-doctor ausgeführt, um herauszufinden, was los ist.

…scheint es gelöst zu haben?
Keine Ahnung warum. Würde es gerne für das nächste Mal verstehen.

Wenn Sie beim Neuerstellen einen Speicherfehler erhalten haben, würde ich weitere 1 GB Swap hinzufügen, obwohl dies Ihr Festplattenspeicherproblem verschärft (Es klingt, als ob Sie sich auf einem kleinen Droplet mit 25 GB RAM befinden, was gerade noch ausreicht). Ich würde vor jedem Neuerstellen einen ./launcher cleanup ausführen, oder vielleicht haben Sie einfach eine Menge Backups und sollten diese nach S3 verschieben ([Konfigurieren Sie einen S3-kompatiblen Objektspeicheranbieter für Uploads](Configure an S3 compatible object storage provider for uploads --Sie können nur Backups machen, Sie müssen nicht alle Assets wie dort beschrieben machen).

Der zweite Fehler war kein Speicherfehler, aber ich konnte nicht identifizieren, was der neue Fehler war: daher der Arzt.
Jedenfalls hat ./discourse-doctor es gelöst, ich hätte nur gerne gewusst, was tatsächlich passiert ist.
Vielen Dank für Ihre Hilfe!

1 „Gefällt mir“

Meine Vermutung war, dass Sie RAM (Arbeitsspeicher) mit Speicherplatz verwechseln. Der Speicherfehler kann auftreten und verschwinden, und der Fehler “Fehler 127” ist kryptisch und leicht zu übersehen.