Mein Neuaufbau ist aufgrund von fehlendem Festplattenspeicher fehlgeschlagen, daher muss ich etwas Platz freimachen. Doch ich stecke in einer Schleife fest: ./launcher cleanup gibt ausreichend Speicher frei, um wieder über 5 GB zu kommen. Ich starte also einen Neuaufbau, der jedoch den wiederhergestellten Speicher erneut auffüllt, sodass er nicht abgeschlossen werden kann. Siehe unten.
Wie bekomme ich die Dinge wieder zum Laufen?
$ sudo ./launcher cleanup
Der folgende Befehl wird
- Alle Docker-Images für alte Container löschen
- Alle gestoppten und verwaisten Container löschen
Sind Sie sicher (Y/n):
Starte Bereinigung (freier Speicher in Bytes: 3931580)
Bereinigung abgeschlossen (freier Speicher in Bytes: 5903356)
$ sudo ./launcher rebuild app
WARNUNG: Docker-Version 17.05.0-ce ist veraltet; empfohlen wird ein Upgrade auf 17.06.2 oder neuer.
WARNUNG: Wir beginnen nun mit dem Herunterladen des Discourse-Basis-Images.
Dieser Vorgang kann je nach Ihrer Netzwerkgeschwindigkeit einige Minuten bis eine Stunde dauern.
Bitte haben Sie etwas Geduld.
Das Image 'discourse/base:2.0.20180802' ist lokal nicht vorhanden.
2.0.20180802: Pulling from discourse/base
8ee29e426c26: Pulling fs layer
6e83b260b73b: Pulling fs layer
e26b65fd1143: Pulling fs layer
40dca07f8222: Pulling fs layer
b420ae9e10b3: Pulling fs layer
b89ccfe9dadc: Pulling fs layer
40dca07f8222: Waiting
b420ae9e10b3: Waiting
b89ccfe9dadc: Waiting
e26b65fd1143: Verifying Checksum
e26b65fd1143: Download complete
6e83b260b73b: Verifying Checksum
6e83b260b73b: Download complete
b420ae9e10b3: Verifying Checksum
b420ae9e10b3: Download complete
40dca07f8222: Verifying Checksum
40dca07f8222: Download complete
8ee29e426c26: Verifying Checksum
8ee29e426c26: Download complete
8ee29e426c26: Pull complete
6e83b260b73b: Pull complete
e26b65fd1143: Pull complete
40dca07f8222: Pull complete
b420ae9e10b3: Pull complete
b89ccfe9dadc: Verifying Checksum
b89ccfe9dadc: Download complete
b89ccfe9dadc: Pull complete
Digest: sha256:be738714169c78e371f93bfa1079f750475b0910567d4f86fa50d6e66910b656
Status: Neues Image für discourse/base:2.0.20180802 heruntergeladen
Auf der Festplatte, auf der sich /var/lib/docker befindet, stehen weniger als 5 GB freier Speicherplatz zur Verfügung. Für die Fortsetzung wird mehr Speicherplatz benötigt.
Dateisystem Größe Belegt Verfügbar % Gemountet auf
/dev/mapper/vg-lv_root 19G 14G 3.8G 79% /
Möchten Sie versuchen, Speicherplatz durch Bereinigen von Docker-Images und Containern im System wiederherzustellen? (y/N) y
WARNUNG! Dies wird entfernen:
- Alle gestoppten Container
- Alle Volumes, die von mindestens einem Container nicht verwendet werden
- Alle Netzwerke, die von mindestens einem Container nicht verwendet werden
- Alle „dangling“ Images
Sind Sie sicher, dass Sie fortfahren möchten? [y/N] y
Wiederhergestellter Speicherplatz insgesamt: 0B
Wenn die Bereinigung erfolgreich war, können Sie es jetzt erneut versuchen.
$
Clean up some more space so that the build has enough breathing room to complete. I find that Docker’s cleanup system is not wonderful at purging old images sometimes, so I sometimes have to do a docker images followed by a long docker rmi <ID> <ID> <ID> ....
Anything not in use by a running container is usually safe enough, as far as Discourse is concerned, because it’ll be re-downloaded and/or rebuilt when you do the needful. There’s not a huge pile of images there, though; it’s probably time for you to get a disk upgrade.
Is there any way I can stop it from downloading the latest discourse base image every time I try to rebuild or start the app? I’d like it to just use the old one for now so that I can go to bed…
It only downloads it if it is not on local, we really only download an image once. We only bump the required image once every few months in launcher. There are ways to specify a base image BUT you do not want to do that for a rainbow of reasons.
But when I try to rebuild or start the app, the base images that was presumably deleted by cleanup gets downloaded again and I’m back to where I started.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1fba0860cbc3 local_discourse/web_only "/sbin/boot" 5 months ago Up 29 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp web_only
aa6b422d88ca local_discourse/data "/sbin/boot" 8 months ago Up 29 minutes data
2940a1603151 local_discourse/mail-receiver "/sbin/boot" 8 months ago Up 29 minutes 0.0.0.0:25->25/tcp mail-receiver
What do you mean by that? Will I need a discourse backup? Cause I don’t have one…