Docker: Volumes
Hoe u de gegevens van uw containers kunt behouden met Docker-volumes
👋 Welkom bij de documentatie van Stackhero!
Stackhero biedt een kant-en-klare Docker cloud CaaS (Containers as a Service) oplossing die tal van voordelen biedt, waaronder:
- Zet eenvoudig uw containers in productie met slechts een
docker-compose up.- Aanpasbare domeinnaam beveiligd met HTTPS (bijvoorbeeld, https://api.uw-bedrijf.com, https://www.uw-bedrijf.com, https://backoffice.uw-bedrijf.com).
- Optimale prestaties en robuuste beveiliging aangedreven door een privé en toegewijde VM.
- Moeiteloze updates met slechts één klik.
Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Docker CaaS cloud hosting oplossing van Stackhero te proberen en uw containers in productie te zetten!
Docker-containers zijn van nature vluchtig. Dit betekent dat alle gegevens die direct binnenin worden opgeslagen, verloren gaan wanneer de container wordt verwijderd of vervangen door een andere instantie. Om gegevenspersistentie te garanderen, worden Docker-volumes aanbevolen.
Gebruik geen Docker-bind mounts
Gebruik geen bind mounts op Stackhero. Kies altijd voor Docker-volumes om dataverlies te voorkomen.
Bind mounts houden in dat een directory van de Stackhero-host-VM aan een container wordt gekoppeld. Als u echter op bind mounts vertrouwt, zal het bijwerken van uw Stackhero for Docker-instantie resulteren in het verlies van alle op deze manier opgeslagen gegevens.
Bind mounts worden meestal gespecificeerd in de docker run-opdracht met een syntaxis zoals -v /myDirectory:/mnt (let op de voorloop /). In Docker Compose-bestanden verschijnen ze als volumes: /myDirectory:/mnt. Verbied deze configuraties of u verliest uw gegevens.
Gebruik in plaats daarvan Docker-volumes, die door Docker worden beheerd en geen absolute paden refereren.
Samenvattend:
Onjuiste aanpak:
docker run -it -v /myDirectory:/mnt alpine
Juiste aanpak:
docker volume create myVolume
docker run -it -v myVolume:/mnt alpine
Bij het werken met Docker Compose-bestanden:
Onjuiste configuratie:
services:
myService:
image: alpine
volumes:
- /myDirectory:/mnt
Juiste configuratie:
services:
myService:
image: alpine
volumes:
- myVolume:/mnt
volumes:
myVolume:
name: myVolume
Handige Docker-volumecommando's
Hier is een snelle referentie voor het beheren van Docker-volumes:
-
Om een nieuw volume genaamd
myVolumete maken, voert u uit:docker volume create myVolume -
Om alle bestaande volumes te vermelden:
docker volume ls -
Om een specifiek volume genaamd
myVolumete verwijderen:docker volume rm myVolumeOpmerking: Het verwijderen van een volume zal alle gegevens die erin zijn opgeslagen permanent verwijderen, en er is geen manier om deze later terug te halen.