Zoeken…


Invoering

Docker-gegevensvolumes bieden een manier om gegevens te bewaren onafhankelijk van de levenscyclus van een container. Volumes bieden een aantal handige functies, zoals:

Een hostmap in de container koppelen, gegevens tussen containers delen met behulp van het bestandssysteem en gegevens bewaren als een container wordt verwijderd

Syntaxis

  • docker volume [OPTIONS] [COMMAND]

Een map van de lokale host in een container koppelen

Het is mogelijk om een hostmap naar een specifiek pad in uw container te --volume met behulp van de opdrachtregeloptie -v of --volume . In het volgende voorbeeld wordt /etc op de host /mnt/etc aan /mnt/etc in de container:

(on linux) docker run -v "/etc:/mnt/etc" alpine cat /mnt/etc/passwd
(on windows)  docker run -v "/c/etc:/mnt/etc" alpine cat /mnt/etc/passwd

De standaardtoegang tot het volume in de container is lezen en schrijven. Gebruik het achtervoegsel om een alleen-lezen volume in een container te mounten :ro :

docker run -v "/etc:/mnt/etc:ro" alpine touch /mnt/etc/passwd

Een benoemd volume maken

docker volume create --name="myAwesomeApp"

Het gebruik van een benoemd volume maakt het beheren van volumes veel leesbaarder voor mensen. Het is mogelijk om een benoemde volume met het commando hierboven aangegeven te maken, maar het is ook mogelijk om een met name genoemde volume binnenkant van het creëren van een docker run commando met behulp van de -v of --volume command line optie:

docker run -d --name="myApp-1" -v="myAwesomeApp:/data/app" myApp:1.5.3

Merk op dat het creëren van een benoemd volume in deze vorm vergelijkbaar is met het koppelen van een hostbestand / map als een volume, behalve dat in plaats van een geldig pad, de volumenaam wordt opgegeven. Eenmaal gemaakt, kunnen genoemde volumes worden gedeeld met andere containers:

docker run -d --name="myApp-2" --volumes-from "myApp-1" myApp:1.5.3

Nadat de bovenstaande opdracht is uitgevoerd, is een nieuwe container gemaakt met de naam myApp-2 uit de myApp:1.5.3 , die het met myAwesomeApp genoemde volume myApp-1 met myApp-1 . Het met myAwesomeApp genoemde myAwesomeApp wordt op /data/app in de myApp-2 container gemount, net zoals het op /data/app in de myApp-1 container wordt gemount.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow