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:
docker volume create
docker volume ls
docker volume inspect
docker volume rm
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
.
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.
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.
docker volume ls
Wynik będzie zawierał informacje o wszystkich istniejących wolumenach:
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.
docker volume inspect my_volume
Wynik działania komendy zawiera informacje w formacie 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.
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.
docker volume prune
2.6 Przykłady praktycznego wykorzystania poleceń
Przykład 1: Tworzenie i użycie wolumenu w kontenerze
Tworzenie wolumenu:
docker volume create app_data
Uruchomienie kontenera z użyciem wolumenu:
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:
docker volume create logs_data
Uruchomienie kontenera z użyciem wolumenu:
docker run -d --name log_app -v logs_data:/var/log/app busybox
Wyświetlenie informacji o wolumenie:
docker volume inspect logs_data
Przykład 3: Usuwanie i czyszczenie wolumenów
Tworzenie i użycie wolumenu:
docker volume create temp_data
docker run -d --name temp_app -v temp_data:/tmp busybox
Zatrzymanie i usunięcie kontenera:
docker stop temp_app
docker rm temp_app
Usunięcie wolumenu:
docker volume rm temp_data
Czyszczenie wszystkich nieużywanych wolumenów:
docker volume prune
GO TO FULL VERSION