Come descritto nella documentazione di Docker su Working with Volumes, esiste il concetto di cosiddetti contenitori di soli dati , che forniscono un volume che può essere montato in più altri contenitori, indipendentemente dal fatto che il contenitore di soli dati sia effettivamente in esecuzione o meno.
Fondamentalmente, questo suona fantastico. Ma c'è una cosa che non capisco.
Questi volumi (che non vengono mappati esplicitamente a una cartella sull'host per motivi di portabilità, come afferma la documentazione) vengono creati e gestiti da Docker in una cartella interna sull'host ( /var/docker/volumes/…
).
Supponiamo di utilizzare un volume di questo tipo e quindi di doverlo migrare da un host a un altro: come si esegue il porting del volume? AFAICS ha un ID univoco: posso semplicemente copiare il volume e il relativo contenitore di soli dati su un nuovo host? Come faccio a sapere quali file copiare? O c'è qualche supporto integrato in Docker che non ho ancora scoperto?
docker run --volumes-from <data container> ubuntu tar -cO <volume path> | gzip -c > volume.tgz
non si basa sui dettagli di implementazione dei volumi. E importa i dati con tar sulla seconda macchina.