Problem mit nicht unterstützter Docker-Version

Hallo,

ich habe die SMTP-Einstellungen geändert und versuche, die App neu zu erstellen.

cd /var/discourse
./launcher rebuild app

Ausgabe: FEHLER: Docker-Version 1.9.1 wird nicht unterstützt. Bitte aktualisieren Sie auf mindestens 17.03.1 oder empfohlen 17.06.2.

Was kann ich tun? Haben Sie irgendwelche Vorschläge?

Haben Sie versucht, Ihr Docker auf mindestens 17.03.1 zu aktualisieren? Wenn Sie nicht sicher sind, wie das geht, führen Sie uname -a aus und fügen Sie die Ergebnisse hier ein.

Hallo, danke für die Antwort.

Hier ist das Ergebnis:
Bildschirmfoto 2020-03-15 um 01.13.43

sudo apt-get update && sudo apt-get upgrade sollte den Trick erledigen. Es kommt wirklich darauf an, wie Sie Docker ursprünglich installiert haben.

Besteht das Risiko, dass nach dem Update etwas die Arbeit von Discourse stört?

Bei solchen Dingen besteht immer ein gewisses Risiko. Wenn Sie die App neu aufbauen möchten, müssen Sie Docker aktualisieren.

Ich empfehle Ihnen, Ihrer Community mitzuteilen, dass Wartungsarbeiten durchgeführt werden, ein Backup zu erstellen, falls dies noch nicht geschehen ist, und dann das Upgrade durchzuführen.

Kernel 3.13.0-147 kommt mir etwas alt vor?

Ja.

Müssen wir in diesem Fall ein separates Update für den Kernel durchführen? Oder reicht der folgende Befehl aus?

sudo apt-get update && sudo apt-get upgrade

Auch apt-get dist-upgrade? Ich würde zur Sicherheit die Ubuntu-Dokumentation prüfen.

Ich versuche gerade, den E-Mail-Dienst und die SMTP-Einstellungen in app.yml zu ändern. Gibt es eine andere Möglichkeit, diese Einstellungen (app.yml) zu validieren, ohne ein Update durchzuführen?

Aus Sicherheitsgründen solltest du wirklich die neuesten Softwareversionen verwenden, aber das liegt in deiner Entscheidung…

Laut How to reload configuration after app.yml changes? - #2 by riking reicht es, wenn du nur Einstellungen im env-Abschnitt der app.yml änderst und diese Umgebung nicht für das Bootstrapping benötigst, ./launcher restart app auszuführen, um die SMTP-Einstellungen neu zu laden.

./launcher restart app funktioniert auch nicht. Fehler: Docker-Version 1.9.1 wird nicht unterstützt.

Was können wir sonst noch tun?

Das Problem besteht darin, dass launcher rebuild den neuesten Code von GitHub herunterlädt, der nicht mit Ihrer Docker-Version kompatibel ist. Dies lässt sich vermeiden, wenn Sie das Rebuild noch nicht ausgeführt haben. In dieser Situation ist die einzige Lösung jedoch wahrscheinlich, voranzuschreiten. Wie @yanokwa bereits angemerkt hat, möchten Sie wirklich keine veralteten Betriebssystem- oder Discourse-Versionen betreiben, da dies eine Reihe von Sicherheitsproblemen mit sich bringt.

Was ist passiert, als Sie den oben gezeigten dist-upgrade-Befehl ausgeführt haben?

Ich habe diesen Befehl nicht verwendet. Ich suche nach einer Möglichkeit, das Problem ohne ein Update zu lösen. (Vorläufig. :slight_smile: )

Sie haben Discourse aktualisiert, was bedeutet, dass Sie nun Docker reparieren müssen.

dist-upgrade könnte dies bewerkstelligen. Angenommen, Sie verfügen über Sicherungskopien und dies ist die einzige Anwendung auf dem Server, ist das Risiko derzeit gering. Im schlimmsten Fall müssen Sie lediglich den 30-minütigen Installationsleitfaden erneut durchlaufen und ein Backup wiederherstellen.

Haben Sie den Server selbst aufgebaut? Falls ja, können Sie sich daran erinnern, wie er aufgebaut wurde? Je mehr Informationen Sie uns hier geben können, desto schneller finden wir eine Lösung für Sie.

Ich habe den Server nicht selbst erstellt. Ich habe ein Snapshot erstellt und arbeite daran.

Ich habe diese Befehle verwendet, um Docker und die Kernel-Version zu aktualisieren:

sudo apt-get dist-upgrade
sudo apt-get update && sudo apt-get upgrade

Nach der Aktualisierung ist die Docker-Version immer noch 1.9.1 :frowning:

Ich habe versucht, die Docker-Version mit diesem Befehl zu aktualisieren:

wget -qO- https://get.docker.com/ | sh

Wenn ich den Befehl docker run -it --rm hello-world ausführe, lautet die Ausgabe:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
Status: Downloaded newer image for hello-world:latest
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:301: running exec setns process for init caused \"exit status 23\"": unknown.

Wenn ich ./launcher rebuild app ausführe, lautet die Ausgabe:

WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed

Please be patient

Unable to find image 'discourse/base:2.0.20200220-2221' locally
2.0.20200220-2221: Pulling from discourse/base
bc51dd8edc1b: Pulling fs layer
27ae5d171719: Pulling fs layer
bc51dd8edc1b: Verifying Checksum
bc51dd8edc1b: Download complete
bc51dd8edc1b: Pull complete
27ae5d171719: Verifying Checksum
27ae5d171719: Download complete
27ae5d171719: Pull complete
Digest: sha256:b3acee0b655f071e98205dbd12fa78b95a6dd4038d27f1259177f76ab2efe4f7
Status: Downloaded newer image for discourse/base:2.0.20200220-2221
/usr/bin/docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:301: running exec setns process for init caused \"exit status 23\"": unknown.
Your Docker installation is not working correctly

See: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam

Nach dem Upgrade von Docker muss unter Umständen ein Neustart durchgeführt werden.

Nach dem Neustart gleiches Ergebnis:

/usr/bin/docker: Fehlermeldung vom Daemon: OCI-Laufzeit-Create-Fehler: container_linux.go:348: Starten des Container-Prozesses verursachte „process_linux.go:301: Ausführen von exec setns-Prozess für init verursachte \"exit status 23\"": unbekannt.
Ihre Docker-Installation funktioniert nicht ordnungsgemäß.

Siehe: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam