0Pricing
Docker & DevOps Fundamentals · Lekcja

Montowania bind i tmpfs

Poznaj montowania bind do uzyskiwania dostępu do plików hosta oraz montowania tmpfs do przechowywania danych tymczasowych.

Montowania bind i tmpfs to bezpłatna lekcja Docker & DevOps Fundamentals na CoddyKit. To lekcja 3 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.

Przechowywanie danych poza wolumenami

W poprzednich lekcjach poznaliśmy wolumeny Dockera służące do trwałego przechowywania danych. Co jednak zrobić, jeśli trzeba bezpośrednio udostępniać pliki z komputera hosta albo przechowywać dane tymczasowe, które nie muszą być zachowywane?

W tej lekcji poznasz dwa kolejne sposoby zarządzania danymi: montowania bind i montowania tmpfs. Zapewniają one elastyczność w różnych zastosowaniach.

Montowania bind i tmpfs — ilustracja 1

Czym są montowania bind?

Montowanie bind pozwala zamontować plik lub katalog z maszyny hosta wewnątrz kontenera. Tworzy to bezpośrednie połączenie, dlatego zmiany wprowadzone po jednej stronie są natychmiast widoczne po drugiej.

  • Ścieżka na hoście: Lokalizacja na komputerze.
  • Ścieżka w kontenerze: Lokalizacja wewnątrz kontenera.
  • Idealne rozwiązanie do programowania, udostępniania konfiguracji lub uzyskiwania dostępu do plików hosta.

Montowania bind w praktyce

Zobaczmy, jak działa montowanie bind. To polecenie montuje bieżący katalog (reprezentowany przez $(pwd) w systemach Linux/macOS lub %cd% w systemie Windows CMD) w katalogu /app kontenera.

Uwaga: Przed uruchomieniem utwórz w bieżącym katalogu plik o nazwie hello.txt i wpisz w nim tekst, na przykład "Hello from host!".

docker run --rm -it \
  -v "$(pwd):/app" \
  alpine:latest sh -c "ls /app && cat /app/hello.txt"

Montowania bind tylko do odczytu

Czasami chcesz udostępnić dane z hosta, ale uniemożliwić kontenerowi ich modyfikowanie. W takich sytuacjach przydają się montowania bind tylko do odczytu.

Możesz dodać :ro na końcu ścieżki montowania albo użyć flagi --mount wraz z opcją readonly.

docker run --rm -it \
  -v "$(pwd):/app:ro" \
  alpine:latest sh -c "touch /app/new_file.txt || echo 'Permission denied!'"

Zrozumienie danych wyjściowych dla trybu tylko do odczytu

Po uruchomieniu poprzedniego polecenia powinien zostać wyświetlony komunikat "Permission denied!". Potwierdza to, że kontener nie mógł utworzyć nowego pliku w katalogu /app, ponieważ został on zamontowany tylko do odczytu.

To przydatna funkcja bezpieczeństwa, która chroni pliki hosta przed przypadkowymi lub złośliwymi zmianami wprowadzanymi przez kontener.

Czym są montowania tmpfs?

Montowanie tmpfs to tymczasowy system plików przechowywany w całości w pamięci hosta (RAM). Oznacza to, że dane zapisane w montowaniu tmpfs są nietrwałe.

  • Dane są tracone po zatrzymaniu kontenera.
  • Operacje wejścia-wyjścia są szybsze niż w przypadku pamięci dyskowej.
  • Dobre rozwiązanie dla poufnych danych lub plików tymczasowych.

Montowania tmpfs w praktyce

Utwórzmy kontener z montowaniem tmpfs. Zapiszemy w nim plik, a następnie wyjdziemy z kontenera. Po uruchomieniu nowego kontenera pliku już nie będzie.

Flaga --tmpfs określa punkt montowania wewnątrz kontenera.

docker run --rm -it \
  --tmpfs /app/temp_data \
  alpine:latest sh -c "echo 'Ephemeral data' > /app/temp_data/my_temp_file.txt && ls /app/temp_data"

Sprawdzenie nietrwałości tmpfs

Po wykonaniu ostatniego polecenia na liście pojawił się plik my_temp_file.txt. Uruchom teraz to polecenie, aby wystartować *nowy* kontener z *taką samą* konfiguracją montowania tmpfs.

Zauważysz, że pliku my_temp_file.txt już nie ma. Potwierdza to, że dane tmpfs są rzeczywiście tymczasowe i powiązane z cyklem życia kontenera.

docker run --rm -it \
  --tmpfs /app/temp_data \
  alpine:latest ls /app/temp_data

Montowania bind a montowania tmpfs

Kiedy należy używać poszczególnych rozwiązań?

  • Montowania bind: Do udostępniania kontenerom plików hosta, takich jak konfiguracja lub kod źródłowy, z zachowaniem trwałości danych i bezpośredniego dostępu do hosta.
  • Montowania tmpfs: Do tymczasowych, nietrwałych danych, które wymagają wysokiej wydajności lub nie powinny przetrwać ponownego uruchomienia kontenera, takich jak pamięci podręczne i poufne dane używane w czasie działania.

Oba rozwiązania uzupełniają wolumeny Dockera, oferując pełny zestaw opcji zarządzania danymi.

Szybkie sprawdzenie: typy montowania

Które z poniższych stwierdzeń dotyczących montowań bind i tmpfs są prawdziwe?

Podsumowanie: narzędzia do zarządzania danymi

Świetna praca! Poszerzyłeś zestaw narzędzi do zarządzania danymi w Dockerze.

  • Montowania bind łączą pliki i katalogi hosta z kontenerami, dzięki czemu świetnie sprawdzają się podczas programowania i udostępniania konfiguracji.
  • Montowania tmpfs zapewniają tymczasową pamięć w RAM, idealną dla danych nietrwałych lub poufnych.

Znajomość tych opcji pomaga wybrać odpowiednie rozwiązanie do przechowywania danych w aplikacjach uruchamianych w kontenerach.

Często zadawane pytania

Czy lekcja „Montowania bind i tmpfs” jest bezpłatna?

Tak — pełny tekst „Montowania bind i tmpfs” 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 „Montowania bind i tmpfs”?

Poznaj montowania bind do uzyskiwania dostępu do plików hosta oraz montowania tmpfs do przechowywania danych tymczasowych. Ć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 3 z 4.

Ile czasu zajmuje lekcja „Montowania bind i tmpfs”?

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