﻿1
00:00:04,670 --> 00:00:10,720
‫Gut. Nachdem Sie alles über Volumes und Bindungs-Mounts gelernt

2
00:00:10,720 --> 00:00:16,120
‫haben und sich Gedanken über persistente Daten machen müssen, können Sie ein Szenario wie Datenbank-Upgrades durchführen.

3
00:00:16,120 --> 00:00:21,250
‫Stellen Sie sich eine Situation vor, in der Sie eine bestimmte Version einer Datenbank ausführen.

4
00:00:21,250 --> 00:00:28,210
‫Sagen wir, Postgres, und Sie müssen die Patch-Version aktualisieren, weil es möglicherweise eine Sicherheits-

5
00:00:28,210 --> 00:00:30,490
‫oder eine Fehlerbehebung gibt.

6
00:00:30,490 --> 00:00:36,730
‫Normalerweise aktualisieren Sie auf einem System nur die Software. Sie würden ein Paketverwaltungssystem-Update oder -Upgrade durchführen

7
00:00:37,030 --> 00:00:41,340
‫und alle Updates für die Bibliotheken und alles selbst durchführen.

8
00:00:41,650 --> 00:00:43,090
‫Aber wie machen wir das in einem Container?

9
00:00:43,180 --> 00:00:48,700
‫Wenn wir versuchen, die bewährte Methode zu befolgen, keine Anwendungen in Containern zu aktualisieren, sondern den Container durch

10
00:00:48,700 --> 00:00:52,810
‫eine neue Version zu ersetzen, wie machen wir das mit der Datenbank?

11
00:00:52,810 --> 00:00:58,990
‫Was Sie für diese Aufgabe tun werden, ist, Docker Hub zu verwenden, um einige Informationen zum Aktualisieren der

12
00:00:59,110 --> 00:01:03,910
‫spezifischen Version von postgres zu erhalten. Wir beginnen damit, dass Sie einen

13
00:01:03,910 --> 00:01:12,100
‫Container mit Version 9 erstellen. 6. 1, das ist eine ältere Version. Und Sie müssen ein benanntes Volume erstellen.

14
00:01:12,100 --> 00:01:18,820
‫Sie müssen sich dazu auf die Dokumentation von Docker Hub stützen und das offizielle Postgres-Repository verwenden.

15
00:01:19,270 --> 00:01:23,920
‫Sie müssen in die Docker-Datei für diese bestimmte Version gehen und erfahren,

16
00:01:23,920 --> 00:01:28,260
‫wie der Volume-Pfad lauten muss. Dann können Sie Ihre Lautstärke auf der linken Seite beliebig benennen.

17
00:01:28,270 --> 00:01:33,040
‫Aber denken Sie daran, dass der Doppelpunkt auf der rechten Seite der Pfad sein muss, in dem sich die

18
00:01:33,040 --> 00:01:34,590
‫eigentlichen Datenbanken im Container befinden.

19
00:01:34,810 --> 00:01:38,680
‫Sobald Sie alles herausgefunden haben und Ihren Container gestartet haben, sollten Sie die Protokolle überprüfen, um festzustellen,

20
00:01:38,680 --> 00:01:43,390
‫ob die Erstellung der Datenbanken und aller Startup-Dateien abgeschlossen ist. Wenn Sie einen Datenbankcontainer zum

21
00:01:43,390 --> 00:01:47,680
‫ersten Mal starten, werden in der Regel einige Vorgänge im Hintergrund

22
00:01:47,710 --> 00:01:51,810
‫ausgeführt, z. B. das Erstellen des Administratorbenutzers, eine Standarddatenbank usw.

23
00:01:51,820 --> 00:01:55,660
‫Es wird einen Punkt geben, an dem die Protokolle anhalten und dann nur noch ausgeführt werden.

24
00:01:55,660 --> 00:02:02,530
‫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

25
00:02:02,620 --> 00:02:07,630
‫Sie sollten in der Lage sein, diesen Container anzuhalten. Dann erstellen Sie einen

26
00:02:07,660 --> 00:02:10,560
‫neuen Container mit einer neuen Version.

27
00:02:10,630 --> 00:02:16,300
‫Es wird ein sehr ähnlicher Befehl wie der erste sein, nur dass Sie eine andere Version angeben.

28
00:02:16,310 --> 00:02:22,780
‫Sie werden auch sicherstellen, dass Sie das Volume des Samed-Namens angeben möchten, da es die Daten verwenden muss, die Sie

29
00:02:22,780 --> 00:02:24,420
‫im ersten verwendet haben.

30
00:02:24,460 --> 00:02:28,060
‫Stellen Sie natürlich sicher, dass Sie den ersten angehalten haben, da beide nicht gleichzeitig

31
00:02:28,060 --> 00:02:29,450
‫auf dieselben Daten zugreifen können.

32
00:02:29,680 --> 00:02:33,730
‫Sobald Sie es gestartet haben, überprüfen Sie die Protokolle erneut auf diesen neuen Container.

33
00:02:34,000 --> 00:02:38,980
‫Was Sie sehen sollten, ist, dass es nur ein paar Zeilen Startprotokolle hat, da es nicht die ganze

34
00:02:38,980 --> 00:02:40,900
‫Arbeit des ersten Starts erledigen muss.

35
00:02:40,900 --> 00:02:43,650
‫Auf diese Weise wissen Sie, dass es dasselbe

36
00:02:43,660 --> 00:02:48,050
‫benannte Volume verwendet, da es beim zweiten Start möglicherweise nur vier oder fünf Protokolleinträge enthält.

37
00:02:48,310 --> 00:02:50,070
‫Das ist also ein reales Szenario.

38
00:02:50,070 --> 00:02:54,860
‫Sie werden dies tun, wenn Sie jemals Produktionsdatenbanken oder irgendetwas ausführen, das Sie benötigen, um auf dem neuesten Stand zu bleiben.

39
00:02:55,000 --> 00:03:00,700
‫Beachten Sie, dass die meisten Datenbanksysteme größere Upgrades nicht automatisch durchführen.

40
00:03:00,700 --> 00:03:05,470
‫Es erfordert normalerweise ein Werkzeug. Mit postgres oder MySQL gibt es für jedes von ihnen ein eigenes

41
00:03:05,470 --> 00:03:06,670
‫Tool, das Sie ausführen müssen.

42
00:03:06,670 --> 00:03:12,310
‫Hier geht es eigentlich nur darum, die Patch-Versionen oder die letzte Nummer zu aktualisieren,

43
00:03:12,310 --> 00:03:16,800
‫ohne dass Schemaänderungen oder größere Aktualisierungen des Datencodes selbst erforderlich sind.

44
00:03:16,870 --> 00:03:18,080
‫Wenn Sie nicht weiterkommen,

45
00:03:18,160 --> 00:03:24,400
‫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.

46
00:03:24,730 --> 00:03:28,120
‫Wenn Sie irgendwann nicht mehr weiterkommen und Docker Hub Ihnen nicht weiterhilft,

47
00:03:28,120 --> 00:03:33,180
‫lesen Sie einfach die nächste Vorlesung, in der ich die gleiche Übung durcharbeite, wie ich es tun würde.

48
00:03:33,190 --> 00:03:33,550
‫Viel Glück.

