0Pricing
Docker & DevOps Fundamentals · Lekcja

Wolumeny Docker do przechowywania danych

Implementuj wolumeny Docker do przechowywania i zarządzania trwałymi danymi aplikacji uruchamianych w kontenerach.

Wolumeny Docker do przechowywania danych to bezpłatna lekcja Docker & DevOps Fundamentals na CoddyKit. To lekcja 2 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 Docker & DevOps Fundamentals, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Docker & DevOps Fundamentals zawiera 4 lekcji w sumie.

Dlaczego trwałość danych?

Kontenery są projektowane jako lekkie i tymczasowe. Po usunięciu kontenera wszystkie dane przechowywane w jego warstwie zapisywalnej zostają bezpowrotnie utracone.

Co jednak, jeśli aplikacja musi zapisywać ważne informacje, takie jak dane bazy danych lub pliki użytkowników? Właśnie w tym przypadku potrzebna jest trwałość danych!

Wolumeny Docker do przechowywania danych — ilustracja 1

Wprowadzenie do woluminów Docker

Woluminy Docker to najlepszy sposób na trwałe przechowywanie danych aplikacji w Dockerze. W przeciwieństwie do danych przechowywanych bezpośrednio w kontenerze woluminy są zarządzane przez Docker i istnieją niezależnie od konkretnego kontenera.

  • Są przechowywane w zarządzanej przez Docker części systemu plików hosta.
  • Są zoptymalizowane pod kątem wydajności operacji wejścia-wyjścia.
  • Można je łatwo tworzyć z kopii zapasowych lub migrować.

Utwórz pierwszy wolumen

Utwórzmy nazwany wolumen. Nazwane wolumeny są proste: nadajesz im nazwę, a Docker zajmuje się resztą.

Użyj polecenia docker volume create, a następnie podaj wybraną nazwę wolumenu.

docker volume create my_data_volume

Wyświetl wolumeny

Po utworzeniu wolumenu możesz zobaczyć go na liście wszystkich istniejących wolumenów Dockera w systemie.

Użyj polecenia docker volume ls, aby je wyświetlić.

docker volume ls

Użyj wolumenu z kontenerem

Uruchommy teraz kontener i dołączmy do niego nowo utworzony wolumen. Służy do tego flaga -v.

Format polecenia to -v volume_name:container_path. Spowoduje to zamontowanie my_data_volume w ścieżce /app/data wewnątrz kontenera nginx.

docker run -d --name my_app_with_volume -v my_data_volume:/app/data nginx

Zapisz dane w wolumenie

Zapiszmy dane w zamontowanym wolumenie z poziomu uruchomionego kontenera. Użyjemy docker exec, aby wykonać polecenie wewnątrz kontenera.

Dane zostaną zapisane w kontenerze pod ścieżką /app/data/message.txt, która w rzeczywistości znajduje się w wolumenie my_data_volume.

docker exec my_app_with_volume sh -c "echo 'Hello from CoddyKit!' > /app/data/message.txt"

Dane przetrwają usunięcie kontenera

Najważniejsza zaleta wolumenów to trwałość danych! Sprawdźmy to.

Najpierw zatrzymamy i usuniemy kontener. Następnie uruchomimy *nowy* kontener, dołączając do niego *ten sam* wolumen, aby odczytać zapisane dane.

docker stop my_app_with_volume
docker rm my_app_with_volume
docker run --rm -it -v my_data_volume:/app/data alpine sh -c "cat /app/data/message.txt"

Sprawdź szczegóły wolumenu

Szczegółowe informacje o wolumenie uzyskasz za pomocą polecenia docker volume inspect. Wyświetla ono jego nazwę, sterownik oraz, co najważniejsze, punkt montowania w systemie plików hosta.

docker volume inspect my_data_volume

Usuwanie wolumenów

Pamiętaj, że wolumeny istnieją niezależnie od kontenerów. Jeśli nie potrzebujesz już danego wolumenu, musisz usunąć go jawnie.

Użyj polecenia docker volume rm. Zachowaj ostrożność, ponieważ spowoduje ono trwałe usunięcie danych!

docker volume rm my_data_volume

Szybkie sprawdzenie wiedzy o wolumenach

Czas na krótkie pytanie sprawdzające znajomość wolumenów Dockera!

Wolumeny: klucz do trwałości danych

Świetna praca! Dowiedziałeś się, jak wolumeny Dockera zapewniają niezawodne rozwiązanie do trwałego przechowywania danych.

  • Wolumeny chronią dane, nawet gdy kontenery zostaną usunięte.
  • Są zarządzane przez Dockera, co zapewnia lepszą wydajność i przenośność.
  • Możesz je tworzyć, wyświetlać, sprawdzać i usuwać za pomocą prostych poleceń.

W następnej części poznasz montowania bind — kolejny sposób zarządzania danymi, przeznaczony do innych zastosowań.

Często zadawane pytania

Czy lekcja „Wolumeny Docker do przechowywania danych” jest bezpłatna?

Tak — pełny tekst „Wolumeny Docker do przechowywania danych” 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 Docker & DevOps Fundamentals, przejdź na CoddyKit PRO. Kurs Docker & DevOps Fundamentals zawiera 4 lekcji w sumie.

Co nauczysz się w „Wolumeny Docker do przechowywania danych”?

Implementuj wolumeny Docker do przechowywania i zarządzania trwałymi danymi aplikacji uruchamianych w kontenerach. Ćwiczysz Docker & DevOps Fundamentals 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ąć Docker & DevOps Fundamentals?

Nie wymagamy żadnego doświadczenia. Docker & DevOps Fundamentals 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 2 z 4.

Ile czasu zajmuje lekcja „Wolumeny Docker do przechowywania danych”?

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 Docker & DevOps Fundamentals?

Tak. Każda lekcja Docker & DevOps Fundamentals 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

  1. Podstawy sieci kontenerów
  2. Wolumeny Docker do przechowywania danych
  3. Montowania bind i tmpfs
  4. Niestandardowe sieci bridge i wykrywanie usług
← Powrót do Docker & DevOps Fundamentals