Docker: Volumes

Hoe u de gegevens van uw containers kunt behouden met Docker-volumes

Welkom bij de Stackhero-documentatie

Stackhero biedt een gebruiksklaar Docker cloud CaaS (Containers as a Service) platform, ontworpen voor snelle en betrouwbare containerdeployments:

  • Zet uw containers direct in productie met slechts één docker-compose up. Er is geen extra configuratie nodig: start gewoon uw containers.
  • Kies uw eigen domeinnaam, automatisch beveiligd met HTTPS (bijvoorbeeld: https://api.uw-bedrijf.com, https://www.uw-bedrijf.com of https://backoffice.uw-bedrijf.com).
  • Profiteer van hoge prestaties en sterke beveiliging op een privé, dedicated infrastructuur.
  • Voer updates uit met één klik voor eenvoudige, moeiteloze onderhoud.

Uw containers kunnen binnen ongeveer vijf minuten live in productie zijn. Stackhero beheert de infrastructuur, updates en beveiliging voor u, zodat u zich kunt richten op het leveren van uw applicaties. Lees meer over Docker CaaS cloud hosting.

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 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

Hier is een snelle referentie voor het beheren van Docker-volumes:

  • Om een nieuw volume genaamd myVolume te maken, voert u uit:

    docker volume create myVolume
    
  • Om alle bestaande volumes te vermelden:

    docker volume ls
    
  • Om een specifiek volume genaamd myVolume te verwijderen:

    docker volume rm myVolume
    

    Opmerking: 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.