Richtige Methode zur Aktualisierung des Docker-OS (bullseye)

Ich muss das aktuelle Betriebssystem Debian (bullseye) aufrüsten, um Pakete zu aktualisieren, die markiert sind. Gibt es Dokumentationen oder Schritte dazu?

Danke

Dies ist kein Discourse-Problem, sondern ein Betriebssystemproblem. Es gibt viele Websites, die beschreiben, wie Sie Ihr Betriebssystem aktualisieren können.

Meine Empfehlung ist, eine neue VM mit einem neuen Betriebssystem zu erstellen und dann eine Discourse-Site mit rsync auf einen anderen VPS verschieben.

2 „Gefällt mir“

Das Docker-Betriebssystem, das während der Discourse-Installation installiert wurde, nicht das Host-Betriebssystem.

Sie können die üblichen Befehle zu app.yml hinzufügen

1 „Gefällt mir“

Möchtest du Debian innerhalb des Containers aktualisieren?

Was wird von wem markiert?

Aber wenn das gemeint ist, kannst du

./launcher enter app
apt-get update
apt-get upgrade

und es wird wahrscheinlich nichts kaputt machen. Ich würde es aber nicht empfehlen.

Und wenn das wirklich gemeint ist, dann kannst du diese als exec-Strophen hinzufügen. Du kannst dir templates/import/mysql-dep.template.yml als Beispiel ansehen.

Ja, Debian innerhalb des Containers, da ich dies als meine einzige Option sehe.

Zum Beispiel hat unser Sicherheitsteam Schwachstellen bei Node.js 18.x, libcurl und openssl gemeldet. Nehmen wir libcurl, meine aktuelle Version ist 7.4, was die aktuellste Version in Bullseye zu sein scheint, aber aus Compliance-Gründen muss es 8.4 sein, und andere Pakete folgen diesem Muster.

./launcher enter app
apt-get update
apt-get upgrade

Ich habe diese Befehle ausgeführt, um Bullseye zu aktualisieren, aber ohne Erfolg.

Ja. Es ist nicht so einfach. Es gibt keinen „richtigen Weg, das Docker-Betriebssystem (bullseye) zu aktualisieren“.

Sie könnten https://github.com/discourse/discourse_docker/blob/main/image/base/slim.Dockerfile modifizieren, um ein Image zu erstellen, das Ihr IT-Team genehmigt. Ich würde wahrscheinlich damit beginnen, das neueste Debian als Basis-Image zu verwenden. Ich würde wahrscheinlich eine Woche dafür einplanen, aber es könnte leicht die Hälfte oder doppelt so lange dauern, wenn die Discourse-Codebasis überhaupt mit den neueren Versionen funktioniert (sie tut es wahrscheinlich, aber es gibt keine Möglichkeit, das zu wissen).

Das Erstellen eines Images, das funktioniert und Ihre Compliance-Probleme löst, wird zeitaufwendig und wahrscheinlich gefährlicher sein als die Verwendung des Standard-Images, das vom Discourse-Team getestet wird und auf Tausenden von Websites funktioniert. Stattdessen werden Sie ein Image ausführen, das nur Sie kennen. Wenn es kaputt ist, können Sie hier keinen Support erhalten, da es unmöglich sein wird zu wissen, ob das Problem beim Code oder einer Bibliothek liegt, die Discourse noch nicht unterstützt.

Jedes Mal, wenn Sie ein Upgrade durchführen, müssen Sie Zeit einplanen, um zu sehen, ob die Discourse-Updates mit Ihrem Image funktionieren.

Wenn Ihre IT-Leute auf diesen Updates bestehen, sollten Sie wahrscheinlich eine andere Plattform in Betracht ziehen.

Hallo, hier sagt ein bekannter Entwickler, dass er in seiner Entwicklungsversion immer die neueste Node LTS verwendet, was darauf hindeutet, dass es damit keine Probleme geben sollte.

Das bedeutet also, dass Ihr Node-Problem völlig sicher sein sollte.

Es erscheint höchst unwahrscheinlich, dass libcurl Dinge auf eine nicht abwärtskompatible Weise kaputt machen würde, daher ist Ihre Aufgabe vielleicht nicht so schwer, wie ich es mir vorgestellt habe. Vielleicht 1-5 Stunden Arbeit für jemanden, der mit den verschiedenen Teilen vertraut ist.

Ich denke, Sie müssten nur discourse_docker forken und ein paar Zeilen in slim.Dockerfile ändern, und vielleicht funktioniert es einfach und ist doch keine große Sache.

1 „Gefällt mir“