‫Gut. Nachdem Sie alles über Volumes und Bindungs-Mounts gelernt
‫haben und sich Gedanken über persistente Daten machen müssen, können Sie ein Szenario wie Datenbank-Upgrades durchführen.
‫Stellen Sie sich eine Situation vor, in der Sie eine bestimmte Version einer Datenbank ausführen.
‫Sagen wir, Postgres, und Sie müssen die Patch-Version aktualisieren, weil es möglicherweise eine Sicherheits-
‫oder eine Fehlerbehebung gibt.
‫Normalerweise aktualisieren Sie auf einem System nur die Software. Sie würden ein Paketverwaltungssystem-Update oder -Upgrade durchführen
‫und alle Updates für die Bibliotheken und alles selbst durchführen.
‫Aber wie machen wir das in einem Container?
‫Wenn wir versuchen, die bewährte Methode zu befolgen, keine Anwendungen in Containern zu aktualisieren, sondern den Container durch
‫eine neue Version zu ersetzen, wie machen wir das mit der Datenbank?
‫Was Sie für diese Aufgabe tun werden, ist, Docker Hub zu verwenden, um einige Informationen zum Aktualisieren der
‫spezifischen Version von postgres zu erhalten. Wir beginnen damit, dass Sie einen
‫Container mit Version 9 erstellen. 6. 1, das ist eine ältere Version. Und Sie müssen ein benanntes Volume erstellen.
‫Sie müssen sich dazu auf die Dokumentation von Docker Hub stützen und das offizielle Postgres-Repository verwenden.
‫Sie müssen in die Docker-Datei für diese bestimmte Version gehen und erfahren,
‫wie der Volume-Pfad lauten muss. Dann können Sie Ihre Lautstärke auf der linken Seite beliebig benennen.
‫Aber denken Sie daran, dass der Doppelpunkt auf der rechten Seite der Pfad sein muss, in dem sich die
‫eigentlichen Datenbanken im Container befinden.
‫Sobald Sie alles herausgefunden haben und Ihren Container gestartet haben, sollten Sie die Protokolle überprüfen, um festzustellen,
‫ob die Erstellung der Datenbanken und aller Startup-Dateien abgeschlossen ist. Wenn Sie einen Datenbankcontainer zum
‫ersten Mal starten, werden in der Regel einige Vorgänge im Hintergrund
‫ausgeführt, z. B. das Erstellen des Administratorbenutzers, eine Standarddatenbank usw.
‫Es wird einen Punkt geben, an dem die Protokolle anhalten und dann nur noch ausgeführt werden.
‫Wenn Sie es richtig gemacht haben, können Sie ein Docker-Volume erstellen und das dort aufgelistete Volume mit dem Namen anzeigen, den Sie ihm gegeben haben, und
‫Sie sollten in der Lage sein, diesen Container anzuhalten. Dann erstellen Sie einen
‫neuen Container mit einer neuen Version.
‫Es wird ein sehr ähnlicher Befehl wie der erste sein, nur dass Sie eine andere Version angeben.
‫Sie werden auch sicherstellen, dass Sie das Volume des Samed-Namens angeben möchten, da es die Daten verwenden muss, die Sie
‫im ersten verwendet haben.
‫Stellen Sie natürlich sicher, dass Sie den ersten angehalten haben, da beide nicht gleichzeitig
‫auf dieselben Daten zugreifen können.
‫Sobald Sie es gestartet haben, überprüfen Sie die Protokolle erneut auf diesen neuen Container.
‫Was Sie sehen sollten, ist, dass es nur ein paar Zeilen Startprotokolle hat, da es nicht die ganze
‫Arbeit des ersten Starts erledigen muss.
‫Auf diese Weise wissen Sie, dass es dasselbe
‫benannte Volume verwendet, da es beim zweiten Start möglicherweise nur vier oder fünf Protokolleinträge enthält.
‫Das ist also ein reales Szenario.
‫Sie werden dies tun, wenn Sie jemals Produktionsdatenbanken oder irgendetwas ausführen, das Sie benötigen, um auf dem neuesten Stand zu bleiben.
‫Beachten Sie, dass die meisten Datenbanksysteme größere Upgrades nicht automatisch durchführen.
‫Es erfordert normalerweise ein Werkzeug. Mit postgres oder MySQL gibt es für jedes von ihnen ein eigenes
‫Tool, das Sie ausführen müssen.
‫Hier geht es eigentlich nur darum, die Patch-Versionen oder die letzte Nummer zu aktualisieren,
‫ohne dass Schemaänderungen oder größere Aktualisierungen des Datencodes selbst erforderlich sind.
‫Wenn Sie nicht weiterkommen,
‫machen Sie sich nach wie vor keine Sorgen, da dies eine neue Sache ist und es in Docker Hub möglicherweise nicht so klar ist.
‫Wenn Sie irgendwann nicht mehr weiterkommen und Docker Hub Ihnen nicht weiterhilft,
‫lesen Sie einfach die nächste Vorlesung, in der ich die gleiche Übung durcharbeite, wie ich es tun würde.
‫Viel Glück.