‫W porządku. Teraz, gdy nauczyłeś się już wszystkiego o woluminach i bindach,
‫i dlaczego musimy martwić się trwałymi danymi, zróbmy coś, co jest scenariuszem w świecie rzeczywistym, czyli aktualizacjami baz danych.
‫Wyobraź sobie sytuację, w której używasz konkretnej wersji bazy danych.
‫Powiedzmy, postgres, i musisz zaktualizować wersję poprawki, ponieważ być może jest to poprawka bezpieczeństwa, poprawka
‫błędu lub coś podobnego.
‫Zwykle w systemie wystarczy zaktualizować oprogramowanie. Użytkownik wykonałby aktualizację lub aktualizację systemu zarządzania
‫paczkami i zajmowałby się wszystkimi aktualizacjami bibliotek i wszystkim sam.
‫Ale jak to zrobić w pojemniku?
‫Ponieważ, jeśli staramy się postępować zgodnie z najlepszą praktyką polegającą na tym, że nie aktualizujemy aplikacji w kontenerach, a zamiast
‫wymiany kontenera na nową wersję, w jaki sposób możemy to zrobić w bazie danych?
‫W tym zadaniu zamierzacie użyć Docker Hub, aby uzyskać informacje na temat
‫aktualizacji konkretnej wersji PostgreSQL. Zaczniemy od utworzenia kontenera
‫w wersji 9. 6. 1, która jest starszą wersją. I będziesz potrzebować stworzyć nazwany tom.
‫Będziesz musiał oprzeć się na dokumentacji Docker Hub, korzystając z oficjalnego repozytorium postgres.
‫Musisz przejść do pliku Docker dla tej konkretnej wersji i dowiedzieć się,
‫jaka powinna być ścieżka woluminu. Następnie możesz nazwać swoją głośność, co chcesz po lewej stronie.
‫Ale pamiętaj, że okrężnica po prawej stronie, która musi być ścieżką, w której znajdują się rzeczywiste
‫bazy danych w pojemniku.
‫Gdy już wszystko się zorientujesz i zaczniesz swój kontener, powinieneś zacząć sprawdzać dzienniki, aby zobaczyć, kiedy
‫skończy się tworzenie baz danych i wszystkich rzeczy startowych. Ponieważ po raz pierwszy uruchamiasz
‫kontener bazy danych, zwykle robi on mnóstwo rzeczy w tle, na
‫przykład tworząc administratora i domyślną bazę danych i tak dalej.
‫Będzie punkt, w którym dzienniki zatrzymają się, a następnie po prostu będą działać.
‫Jeśli zrobiłeś to poprawnie, będziesz w stanie wykonać wolumin dokowania ls i zobaczyć podany tam tom z nazwą, którą mu podałeś, i
‫powinieneś być w stanie zatrzymać ten kontener. Następnie utworzysz nowy
‫kontener z nową wersją.
‫Będzie to bardzo podobne polecenie do tego pierwszego, tylko Ty określisz inną
‫wersję, ale będziesz również chciał określić wolumin nazw samemu, ponieważ musi on używać danych
‫użytych w pierwszej.
‫Oczywiście upewnij się, że zatrzymałeś pierwszą, ponieważ obie te osoby nie mają dostępu do tych samych
‫danych w tym samym czasie.
‫Po uruchomieniu sprawdź ponownie logi dotyczące tego nowego kontenera.
‫To, co powinieneś zobaczyć, to to, że ma tylko kilka linii logów startowych, ponieważ nie musi
‫wykonywać całej pracy początkowego uruchomienia.
‫To, jak wiesz, że używa tego samego nazwanego woluminu,
‫to to, że przy drugim uruchomieniu może mieć tylko cztery lub pięć wpisów w dzienniku.
‫A więc jest to scenariusz w prawdziwym świecie.
‫Zrobisz to, jeśli kiedykolwiek uruchomisz bazy danych produkcji lub coś, co potrzebujesz, aby zachować aktualność.
‫Zwróć uwagę, że większość systemów baz danych nie wykonuje automatycznych aktualizacji.
‫Zwykle wymaga narzędzia. W PostgreSQL lub MySQL dostępne jest osobne narzędzie dla każdego
‫z nich, które musisz uruchomić.
‫Chodzi po prostu o aktualizację wersji łat lub ostatniego numeru, który nie wymaga
‫zmian schematu ani żadnych większych aktualizacji samego kodu danych.
‫Tak jak poprzednio,
‫jeśli utkniesz, nie martw się, ponieważ jest to coś nowego i może nie być tak jasne w Docker Hub.
‫Jeśli utkniecie w jakimś momencie, a Docker Hub wam
‫nie pomoże, po prostu sprawdźcie następny wykład, który prowadzę przez to samo ćwiczenie, co ja.
‫Powodzenia.