Docker: Wolumeny
Jak zachować dane kontenerów za pomocą wolumenów Docker
👋 Witamy w dokumentacji Stackhero!
Stackhero oferuje gotowe do użycia rozwiązanie Docker cloud CaaS (Containers as a Service), które zapewnia wiele korzyści, w tym:
- Łatwe wdrażanie kontenerów do produkcji za pomocą prostego
docker-compose up.- Dostosowywana nazwa domeny zabezpieczona HTTPS (na przykład, https://api.twoja-firma.com, https://www.twoja-firma.com, https://backoffice.twoja-firma.com).
- Optymalna wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.
- Bezproblemowe aktualizacje za pomocą jednego kliknięcia.
Oszczędzaj czas i upraszczaj swoje życie: wystarczy 5 minut, aby wypróbować rozwiązanie Docker CaaS cloud hosting Stackhero i wdrożyć swoje kontenery do produkcji!
Z założenia kontenery Docker są efemeryczne. Oznacza to, że wszelkie dane przechowywane bezpośrednio w nich zostaną utracone, gdy kontener zostanie usunięty lub zastąpiony inną instancją. Aby zapewnić trwałość danych, zaleca się używanie wolumenów Docker.
Nie używaj powiązań Docker bind mounts
Nie używaj powiązań bind mounts na Stackhero. Zawsze wybieraj wolumeny Docker, aby zapobiec utracie danych.
Powiązania bind mounts polegają na połączeniu katalogu z hosta VM Stackhero z kontenerem. Jednakże, jeśli polegasz na powiązaniach bind mounts, aktualizacja instancji Stackhero for Docker spowoduje utratę wszystkich danych przechowywanych w ten sposób.
Powiązania bind mounts są zazwyczaj określane w poleceniu docker run z taką składnią jak -v /myDirectory:/mnt (zwróć uwagę na wiodący /). W plikach Docker Compose pojawiają się jako volumes: /myDirectory:/mnt. Zabroń tych konfiguracji, inaczej stracisz swoje dane.
Zamiast tego używaj wolumenów Docker, które są zarządzane przez Docker i nie odnoszą się do ścieżek absolutnych.
Podsumowując:
Niepoprawne podejście:
docker run -it -v /myDirectory:/mnt alpine
Poprawne podejście:
docker volume create myVolume
docker run -it -v myVolume:/mnt alpine
Podczas pracy z plikami Docker Compose:
Niepoprawna konfiguracja:
services:
myService:
image: alpine
volumes:
- /myDirectory:/mnt
Poprawna konfiguracja:
services:
myService:
image: alpine
volumes:
- myVolume:/mnt
volumes:
myVolume:
name: myVolume
Przydatne polecenia dla wolumenów Docker
Oto szybki przewodnik po zarządzaniu wolumenami Docker:
-
Aby utworzyć nowy wolumen o nazwie
myVolume, uruchom:docker volume create myVolume -
Aby wyświetlić listę wszystkich istniejących wolumenów:
docker volume ls -
Aby usunąć konkretny wolumen o nazwie
myVolume:docker volume rm myVolumeUwaga: Usunięcie wolumenu spowoduje trwałe usunięcie wszystkich danych w nim przechowywanych i nie ma możliwości ich odzyskania.