CodeGym /Kursy /Docker SELF /Tworzenie i zarządzanie woluminami

Tworzenie i zarządzanie woluminami

Docker SELF
Poziom 19 , Lekcja 1
Dostępny

2.1 Podstawowe komendy docker volume

Woluminy (volumes) w Docker zapewniają trwałe przechowywanie danych kontenerów i pozwalają łatwo zarządzać oraz izolować dane. Komenda docker volume dostarcza zestaw narzędzi do tworzenia, zarządzania i usuwania woluminów. W tym wykładzie przyjrzymy się, jak korzystać z komendy docker volume do efektywnego zarządzania woluminami w Docker.

Podstawowe komendy docker volume:

  1. docker volume create
  2. docker volume ls
  3. docker volume inspect
  4. docker volume rm
  5. docker volume prune

2.2 Tworzenie wolumenu: docker volume create

Komenda docker volume create służy do tworzenia nowego wolumenu. Domyślnie Docker tworzy wolumen w standardowej lokalizacji na hoście, ale możesz także określić różne parametry do konfiguracji wolumenu.

Prosty przykład tworzenia wolumenu

Ten przykład utworzy wolumen o nazwie my_volume.

Terminal

docker volume create my_volume

Tworzenie wolumenu z ustawieniami

Możesz określić sterownik i parametry, aby utworzyć wolumen z określonymi właściwościami.

Terminal

docker volume create --driver local --opt o=uid=1000 --opt o=gid=1000 --opt type=tmpfs --opt 
device=tmpfs my_custom_volume

Wszystkie te parametry omówimy poniżej, na razie nie zwracaj na nie zbyt dużej uwagi.

2.3 Lista wolumenów: docker volume ls

Komenda docker volume ls wyświetla listę wszystkich wolumenów utworzonych na hoście.

Terminal

docker volume ls

Wynik będzie zawierał informacje o wszystkich istniejących wolumenach:

Terminal

DRIVER    VOLUME NAME
local     my_volume
local     my_custom_volume

2.4 Informacje o woluminie: docker volume inspect

Komenda docker volume inspect dostarcza szczegółowych informacji o konkretnym woluminie, w tym jego lokalizację, parametry i użycie.

Terminal

docker volume inspect my_volume

Wynik działania komendy zawiera informacje w formacie JSON:

JSON

[
    {
        "CreatedAt": "2023-07-26T12:34:56Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/my_volume/_data",
        "Name": "my_volume",
        "Options": {},
        "Scope": "local"
    }
]

2.5 Usuwanie volume'u: docker volume rm

Komenda docker volume rm jest używana do usuwania volume'u. Ważne jest, by upewnić się, że volume nie jest używany przez kontenery przed jego usunięciem.

Usuwanie volume'u

Jeśli volume jest używany, Docker wyświetli błąd, wskazując, że volume nie może być usunięty.

Terminal

docker volume rm my_volume

Usuwanie nieużywanych volume'ów: docker volume prune

Komenda docker volume prune usuwa wszystkie nieużywane volume'y, co pomaga zwolnić miejsce na dysku.

Usuwanie nieużywanych volume'ów

Po wykonaniu tej komendy Docker poprosi o potwierdzenie przed usunięciem wszystkich nieużywanych volume'ów.

Terminal

docker volume prune

2.6 Przykłady praktycznego wykorzystania poleceń

Przykład 1: Tworzenie i użycie wolumenu w kontenerze

Tworzenie wolumenu:

Terminal

docker volume create app_data

Uruchomienie kontenera z użyciem wolumenu:

Terminal

docker run -d --name my_app -v app_data:/usr/share/nginx/html nginx

W tym przykładzie wolumen app_data jest montowany w katalogu /usr/share/nginx/html kontenera nginx.

Przykład 2: Uzyskanie informacji o wolumenie

Tworzenie wolumenu:

Terminal

docker volume create logs_data

Uruchomienie kontenera z użyciem wolumenu:

Terminal

docker run -d --name log_app -v logs_data:/var/log/app busybox

Wyświetlenie informacji o wolumenie:

Terminal

docker volume inspect logs_data

Przykład 3: Usuwanie i czyszczenie wolumenów

Tworzenie i użycie wolumenu:

Terminal

docker volume create temp_data

docker run -d --name temp_app -v temp_data:/tmp busybox

Zatrzymanie i usunięcie kontenera:

Terminal

docker stop temp_app

docker rm temp_app

Usunięcie wolumenu:

Terminal

docker volume rm temp_data

Czyszczenie wszystkich nieużywanych wolumenów:

Terminal

docker volume prune
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION