Zarządzanie danymi za pomocą wolumenów Dockera
Dowiedz się, dlaczego kontenery tracą dane po usunięciu, oraz jak utrwalać i współdzielić dane za pomocą wolumenów Dockera i montowań bind.
Zarządzanie danymi za pomocą wolumenów Dockera to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Kontenery są efemeryczne
Kontenery są efemeryczne: wszystko, co zostanie zapisane, znajduje się wewnątrz kontenera, a jego usunięcie kasuje te dane. To dobre rozwiązanie dla aplikacji bezstanowych, ale baza danych musi zachować swoje dane.
Warstwa zapisywalna
Każdy kontener ma cienką warstwę zapisywalną na wierzchu swojego obrazu. Zapisy trafiają do tej warstwy, ale jest ona związana z cyklem życia kontenera — po usunięciu kontenera warstwa znika.
Dwa sposoby utrwalania danych
Docker oferuje dwa sposoby utrwalania danych: wolumeny (zarządzane przez Docker) oraz montowania wiązane (mapowanie katalogu hosta). Domyślnie zalecane są wolumeny.
Tworzenie wolumenu
Utwórz nazwany wolumen jednym poleceniem za pomocą docker volume create. Docker zdecyduje, gdzie fizycznie go umieścić, więc nie musisz się tym zajmować.
docker volume create app-dataMontowanie wolumenu
Dołącz wolumen za pomocą -v, używając zapisu volumeName:/path/in/container. Od tej pory wszystko, co zostanie zapisane w tej ścieżce, będzie utrwalane w wolumenie.
docker run -d -v app-data:/var/lib/data myimageDane przetrwają usunięcie
Ponieważ wolumen jest niezależny od kontenera, można usunąć kontener, uruchomić nowy z tym samym wolumenem, a dane nadal będą dostępne.
docker rm -f mycontainer
docker run -d -v app-data:/var/lib/data myimageMontowania wiązane w środowisku lokalnym
Montowanie wiązane mapuje katalog hosta wewnątrz kontenera — jest idealne podczas programowania, ponieważ edycje kodu na komputerze są natychmiast widoczne wewnątrz kontenera.
docker run -v /Users/me/project:/app node:20Wolumeny a montowania wiązane
Wybór zależy od zastosowania: wolumeny służą do przenośnych danych produkcyjnych zarządzanych przez Docker, a montowania wiązane do programowania, gdy potrzebujesz dokładnej ścieżki hosta i pełnej kontroli.
Sprawdzanie wolumenów
docker volume ls wyświetla listę wolumenów, a docker volume inspect pokazuje szczegóły — w tym faktyczne położenie danych na dysku.
docker volume ls
docker volume inspect app-dataUdostępnianie danych między kontenerami
Zamontuj jeden wolumen w wielu kontenerach, aby mogły współdzielić pliki — na przykład kontener aplikacji i kontener kopii zapasowej mogą odczytywać te same dane.
docker run -v shared:/data writer
docker run -v shared:/data readerCzyszczenie
Nieużywane wolumeny zajmują miejsce na dysku. Usuń jeden za pomocą docker volume rm albo wyczyść osierocone wolumeny poleceniem docker volume prune — zachowaj ostrożność, ponieważ dane zostaną wtedy bezpowrotnie usunięte.
docker volume rm app-data
docker volume pruneSzybki sprawdzian
Sprawdź swoją wiedzę na temat danych w Dockerze.
Podsumowanie
Nauczyłeś się utrwalać dane: kontenery są efemeryczne, wolumeny przetrwają usunięcie kontenera i są montowane za pomocą -v name:/path, natomiast montowania wiązane sprawdzają się podczas programowania.
Często zadawane pytania
Czy lekcja „Zarządzanie danymi za pomocą wolumenów Dockera” jest bezpłatna?
Tak — pełny tekst „Zarządzanie danymi za pomocą wolumenów Dockera” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Co nauczysz się w „Zarządzanie danymi za pomocą wolumenów Dockera”?
Dowiedz się, dlaczego kontenery tracą dane po usunięciu, oraz jak utrwalać i współdzielić dane za pomocą wolumenów Dockera i montowań bind. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?
Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Zarządzanie danymi za pomocą wolumenów Dockera”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?
Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Czym są kontenery?
- Instalowanie Docker Desktop
- Pierwszy kontener Docker
- Zarządzanie danymi za pomocą wolumenów Dockera