Diversi articoli sono stati estremamente utili per comprendere il volume e la gestione dei dati di Docker. Questi due in particolare sono eccellenti:Montare il volume host della docker ma sovrascrivere con il contenuto del contenitore
- http://container-solutions.com/understanding-volumes-docker/
- http://www.alexecollins.com/docker-persistence/
Tuttavia, non sono sicuro se quello che sto cercando è discusso. Ecco la mia comprensione:
- Quando si esegue
docker run -v /host/something:/container/something
i file host sovrascrivono (ma non sovrascrivono) i file contenitore nella posizione specificata. Il contenitore non avrà più accesso ai file precedenti della posizione, ma avrà solo accesso ai file host in quella posizione. - Quando si definisce un volume in Dockerfile, altri contenitori possono condividere i contenuti creati dall'immagine/dal contenitore.
- L'host può anche visualizzare/modificare un volume di Dockerfile, ma solo dopo aver rilevato il punto di montaggio reale utilizzando la finestra mobile per ispezionare. (Di solito da qualche parte come
/var/lib/docker/vfs/dir/cde167197ccc3e138a14f1a4f7c....
). Tuttavia, questo è peloso quando Docker deve essere eseguito all'interno di una VM virtuale.
La mia domanda è semplice. Come posso invertire l'overlay in modo che quando si monta un volume, i file contenitore abbiano la precedenza sui miei file host?
Desidero specificare un punto di montaggio in cui sia possibile accedere facilmente al filesystem del contenitore. Ma sembra che nessuno stia facendo questa domanda. Capisco che posso usare un contenitore di dati per questo, o posso usare docker inspect per trovare il mountpoint, ma in questo caso nessuna soluzione è una buona soluzione.
La tua domanda è contro la tua regola numero 1 –
@warmoverflow Mi scuso per il linguaggio vago. L'elenco numerato serve solo per enumerare ciò di cui già conosco Docker. Non sono regole che voglio rispettare. E 'incluso per farti sapere che ho fatto due diligence e sto cercando aiuto. –