Co powinna obejmować kopia zapasowa Dockera oprócz biblioteki multimediów?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Kopia zapasowa Dockera musi zachowywać definicję wdrożenia, stan aplikacji, bazy danych, dane uwierzytelniające i procedurę odzyskiwania — nie tylko wymienne pliki multimedialne.

Filmy, muzyka i zdjęcia mogą stanowić największy zbiór danych, ale utrata plików Compose, baz danych aplikacji, metadanych, kont użytkowników, certyfikatów, kluczy szyfrujących lub mapowań montowania może uniemożliwić korzystanie z biblioteki albo wymusić jej wielotygodniową odbudowę. Niezawodna kopia zapasowa zaczyna się od pytania: „Co musi istnieć, aby odtworzyć usługę na pustym hoście?” — a następnie chroni każdą wymaganą warstwę za pomocą metody zapewniającej spójność aplikacji.

Wykonaj kopię zapasową definicji wdrożenia

Zachowaj każdy plik Compose, plik nadpisujący konfigurację, plik Dockerfile, kontekst kompilacji, nazwę stosu, tag obrazu, polecenie, mapowanie portów, sieć, deklarację woluminu, kontrolę stanu, zasadę ponownego uruchamiania i limit zasobów wymagane do odtworzenia kontenerów.

W dyskusji na temat samodzielnego hostowania opisano przechowywanie plików Compose i plików środowiskowych każdej aplikacji razem, aby można było przewidywalnie ponownie wdrożyć stos. Dzięki temu konfiguracja wdrożenia staje się pełnoprawnym elementem kopii zapasowej, zamiast polegania na działającym kontenerze jako dokumentacji.

Zapisuj dokładne wersje obrazów, a nie tylko ruchome tagi, takie jak latest. W odpowiednich przypadkach przechowuj konfigurację w systemie kontroli wersji, ale nie umieszczaj sekretów w publicznych repozytoriach i dołącz chroniony wykaz wymaganych zewnętrznych zależności.

Chroń każde trwałe montowanie bind i nazwany wolumin

Wymień montowania dołączone do każdej usługi i sklasyfikuj je jako wymienną pamięć podręczną, konfigurację aplikacji, metadane, bazę danych, przesłane treści, wygenerowane miniatury lub stan krytyczny. Wykonuj kopię zapasową wszystkich ścieżek, których nie można odtworzyć.

W dyskusji dotyczącej OpenMediaVault stwierdzono, że najważniejszy zestaw do odzyskiwania obejmuje definicję Compose oraz dane trwałe, podczas gdy obrazy kontenerów można zazwyczaj ponownie pobrać. To rozróżnia trwały stan od wymiennych obrazów kontenerów.

Uwzględnij ukryte katalogi aplikacji i niewielkie woluminy metadanych, a nie tylko duże montowanie biblioteki. Sprawdź, czy ścieżki źródłowe montowań bind są objęte kopią zapasową hosta oraz czy nazwane woluminy są eksportowane metodą zachowującą właścicieli i uprawnienia.

Twórz kopie zapasowe spójne z bazą danych

Zidentyfikuj bazy PostgreSQL, MariaDB, MySQL, MongoDB, SQLite, dane trwałe Redis oraz wbudowane bazy danych. Korzystaj z obsługiwanej przez bazę procedury zrzutu, migawki lub kopii przy wstrzymanych operacjach, zamiast kopiować pliki w czasie trwania transakcji.

Dyskusja na Stack Overflow dotycząca kopii zapasowej woluminu Dockera pokazuje montowanie woluminu w tymczasowym kontenerze w celu utworzenia archiwum, ale pliki baz danych nadal wymagają uwzględnienia spójności. Surowe archiwum woluminu nie jest automatycznie prawidłową kopią zapasową transakcyjnej bazy danych.

Zapisz wersję silnika, nazwy baz danych, użytkowników, rozszerzenia i kolejność przywracania. Przetestuj zrzut logiczny niezależnie od kopii systemu plików, aby jedna metoda mogła posłużyć do odzyskania danych, gdy druga okaże się niekompletna.

-15% OFF

Zachowaj sekrety, certyfikaty i tożsamość

Wykonuj chronione kopie sekretów środowiskowych, tokenów API, haseł do baz danych, danych uwierzytelniających klientów OAuth, certyfikatów TLS, kluczy prywatnych, kluczy SSH, kluczy szyfrujących i kodów odzyskiwania aplikacji.

Sekrety powinny być przechowywane oddzielnie od zwykłych plików Compose i szyfrowane za pomocą metody odzyskiwania, która nie zależy od uszkodzonego hosta Dockera. Kopia zapasowa musi zawierać wystarczający kontekst, aby było wiadomo, do której usługi i której zmiennej należy przywrócić dany sekret.

Nie pomijaj kluczy szyfrujących zaszyfrowanych baz danych ani magazynów danych. Doskonała kopia zaszyfrowanych danych będzie niemożliwa do odzyskania, jeśli utracony zostanie klucz, hasło lub konfiguracja zarządzania kluczami.

Uwzględnij odwrotny serwer proxy, DNS, zadania i założenia dotyczące hosta

Zachowaj trasy odwrotnego serwera proxy, oprogramowanie pośredniczące, reguły dostępu, rekordy DNS, konfigurację DDNS, zaplanowane zadania, zasady aktualizacji, reguły zapory sieciowej, mapowania urządzeń GPU, przypisania UID i GID oraz jednostki montowania pamięci masowej.

Przegląd produktu do tworzenia kopii zapasowych podkreśla, że niezawodna ochrona woluminów wymaga również harmonogramowania, przechowywania wersji, szyfrowania, kontroli miejsca docelowego i widocznej historii wykonywania. Te szczegóły operacyjne zmieniają jednorazowe archiwum w powtarzalny proces tworzenia kopii zapasowych.

Udokumentuj, które katalogi hosta, sieci, funkcje jądra i urządzenia muszą istnieć przed uruchomieniem Compose. Bez tych założeń przywrócone kontenery mogą utworzyć puste katalogi zastępcze, używać niewłaściwych uprawnień lub uruchomić się bez akceleracji sprzętowej.

Sprawdź kopię zapasową, przywracając ją na pustym hoście

Przywróć dane na odizolowanym hoście testowym lub w maszynie wirtualnej, korzystając wyłącznie z kopii zapasowej i pisemnych instrukcji. Odtwórz ścieżki pamięci masowej, sekrety, bazy danych, trasy proxy i kontenery w udokumentowanej kolejności.

Instrukcja ZimaSpace dotycząca bezpiecznego przywracania jednego folderu współdzielonego opiera się na tej samej zasadzie: kopia zapasowa jest godna zaufania dopiero wtedy, gdy kontrolowane przywracanie potwierdzi jej zakres.

Zweryfikuj logowanie, uprawnienia, integralność bazy danych, metadane, miniatury, odtwarzanie, przesyłanie plików, zaplanowane zadania, TLS oraz ponowne uruchomienie. Zapisz czas odzyskiwania i aktualizuj listę kontrolną kopii zapasowej za każdym razem, gdy przywracanie ujawni brakującą zależność.

Wsparcie i wskazówki

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.