Ricerca…


introduzione

I volumi di dati del Docker forniscono un modo per mantenere i dati indipendentemente dal ciclo di vita di un container. I volumi presentano una serie di funzioni utili come:

Montare una directory host all'interno del contenitore, condividendo i dati tra i contenitori usando il filesystem e preservando i dati se un container viene cancellato

Sintassi

  • volume finestra mobile [OPZIONI] [COMMAND]

Montare una directory dall'host locale in un contenitore

È possibile montare una directory host su un percorso specifico nel contenitore usando l'opzione -v o --volume riga di comando. L'esempio seguente monterà /etc sull'host su /mnt/etc nel contenitore:

(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

L'accesso predefinito al volume all'interno del contenitore è di lettura-scrittura. Per montare un volume di sola lettura all'interno di un contenitore, utilizzare il suffisso :ro :

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

Creare un volume con nome

docker volume create --name="myAwesomeApp"

L'utilizzo di un volume denominato rende la gestione dei volumi molto più leggibile. È possibile creare un volume denominato utilizzando il comando specificato sopra, ma è anche possibile creare un volume denominato all'interno di un comando di docker run utilizzando l'opzione della riga di comando -v o --volume :

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

Si noti che la creazione di un volume denominato in questo modulo è simile al montaggio di un file / directory host come volume, tranne per il fatto che anziché un percorso valido viene specificato il nome del volume. Una volta creati, i volumi denominati possono essere condivisi con altri contenitori:

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

Dopo aver eseguito il comando precedente, un nuovo contenitore è stato creato con il nome myApp-2 dal myApp:1.5.3 immagine, che condivide la myAwesomeApp nome volume con myApp-1 . Il volume denominato myAwesomeApp è montato su /data/app nel contenitore myApp-2 , così come è montato su /data/app nel contenitore myApp-1 .



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow