jeśli chcę przywrócić kontener, mogę spróbować zatwierdzić obraz, a następnie usunąć kontener i utworzyć nowy kontener z zatwierdzonego obrazu. Ale jeśli to zrobię, wolumin zostanie usunięty, a wszystkie moje dane znikną
Jak wyjaśnia podręcznik użytkownika platformy Docker, woluminy danych mają na celu utrwalanie danych poza systemem plików kontenera. Ułatwia to również udostępnianie danych między wieloma kontenerami.
Podczas gdy Docker nigdy nie usunie danych w woluminach (chyba że usuniesz skojarzony kontener z docker rm -v
), woluminy, do których nie odwołuje się żaden kontener docker, nazywane są woluminami wiszącymi . Te wiszące woluminy są trudne do pozbycia się i trudno do nich dotrzeć.
Oznacza to, że gdy tylko ostatni kontener używający woluminu zostanie usunięty, wolumen danych zwisa, a jego zawartość jest trudna do uzyskania.
Aby zapobiec zawieszaniu się tych woluminów, sztuczka polega na utworzeniu dodatkowego kontenera dockerowego przy użyciu woluminu danych, który chcesz pozostać; tak, że zawsze będzie przynajmniej ten kontener docker odwołujący się do woluminu. W ten sposób możesz usunąć kontener Dockera z uruchomioną aplikacją wordpress bez utraty łatwości dostępu do zawartości woluminu danych.
Takie kontenery nazywane są kontenerami danych .
Musi istnieć jakiś prosty sposób na wykonanie kopii zapasowej mojego kontenera i danych wolumenu, ale nie mogę ich nigdzie znaleźć.
zapasowe obrazy dockera
Aby utworzyć kopię zapasową obrazów dockera, użyj polecenia docker save, które utworzy archiwum tar, którego można później użyć do utworzenia nowego obrazu dockera za pomocą polecenia docker load .
zapasowe kontenery docker
Możesz wykonać kopię zapasową kontenera Dockera na różne sposoby
- popełniając nowe Döcker obraz na podstawie stanu obecnego pojemnika doker pomocą docker popełnić polecenia
- eksportując system plików kontenera docker jako archiwum tar za pomocą polecenia docker export . Możesz później utworzyć nowy obraz dockera z tego archiwum tar za pomocą polecenia docker import .
Należy pamiętać, że te polecenia będą tworzyć kopie zapasowe tylko warstwowego systemu plików kontenera Dockera. Nie obejmuje to ilości danych .
zapasowe woluminy danych dockera
Aby wykonać kopię zapasową woluminu danych, możesz uruchomić nowy kontener, używając woluminu, który chcesz utworzyć, i wykonać polecenie tar, aby utworzyć archiwum zawartości woluminu, jak opisano w podręczniku użytkownika platformy Docker .
W Twoim przypadku wolumen danych jest używany do przechowywania danych dla serwera MySQL. Więc jeśli chcesz wyeksportować archiwum tar dla tego woluminu, musisz najpierw zatrzymać serwer MySQL. Aby to zrobić, musisz zatrzymać kontener wordpress.
wykonaj kopię zapasową danych MySQL
Innym sposobem jest zdalne połączenie się z serwerem MySQL w celu utworzenia zrzutu bazy danych za pomocą polecenia mysqldump . Jednak aby to zadziałało, serwer MySQL musi być skonfigurowany do akceptowania połączeń zdalnych, a także mieć użytkownika, który może łączyć się zdalnie. Może tak nie być w przypadku używanego obrazu dokera Wordpress.
Edytować
Docker niedawno wprowadził wtyczki woluminów Dockera, które pozwalają delegować obsługę woluminów do wtyczek wdrożonych przez dostawców.
docker run
Komenda ma nowego zachowania dla -v
opcji. Teraz można przekazać mu nazwę woluminu . Woluminy utworzone w ten sposób są nazwane i łatwe do późniejszego odniesienia, co ułatwia problemy z wiszącymi woluminami .
Edytuj 2
Docker wprowadził docker volume prune
polecenie, aby łatwo usunąć wszystkie wiszące woluminy.