Docker Assegna un volume a un contenitore


Esempio

Un volume Docker è un file o una directory che persiste oltre la durata del contenitore. È possibile montare un file o una directory host in un contenitore come volume (ignorando UnionFS).

Aggiungi un volume con l'opzione della riga di comando -v :

docker run -d -v "/data" awesome/app bootstrap.sh

Questo creerà un volume e lo monterà sul percorso /data all'interno del contenitore.

  • Nota: puoi usare il flag --rm per rimuovere automaticamente il volume quando il contenitore viene rimosso.

Montare le directory host

Per montare un file o una directory host in un contenitore:

docker run -d -v "/home/foo/data:/data" awesome/app bootstrap.sh
  • Quando si specifica una directory host, è necessario fornire un percorso assoluto.

Questo monterà la directory host /home/foo/data su /data all'interno del contenitore. Questo volume "directory host bind-montato" è la stessa cosa di un mount --bind Linux mount --bind e quindi installa temporaneamente la directory host sul percorso contenitore specificato per la durata della vita del contenitore. Le modifiche nel volume dall'host o dal contenitore si riflettono immediatamente nell'altra, poiché sono la stessa destinazione su disco.

Esempio UNIX che monta una cartella relativa

docker run -d -v $(pwd)/data:/data awesome/app bootstrap.sh

Denominare i volumi

Un volume può essere denominato fornendo una stringa anziché un percorso di directory host, la finestra mobile crea un volume utilizzando tale nome.

docker run -d -v "my-volume:/data" awesome/app bootstrap.sh

Dopo aver creato un volume con nome, il volume può essere condiviso con altri contenitori usando quel nome.