Docker: Nie używaj powiązań Docker bind mounts
Ta dokumentacja jest częścią przewodnika Wolumeny. Pełny przewodnik znajdziesz tutaj: 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!
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