2014-06-18 49 views

risposta

24

volumi Docker

È possibile utilizzare i volumi Docker per creare un nuovo volume nel contenitore e di montarlo in una cartella del proprio host. Per esempio. si potrebbe montare la cartella /var/log del vostro host Linux per il vostro contenitore in questo modo:

docker run -d -v /var/log:/opt/my/app/log:rw some/image 

Ciò creerebbe una cartella chiamata /opt/my/app/log all'interno del contenitore. E questa cartella sarà /var/log sul tuo host Linux. Puoi usare questo per mantenere i dati o condividere i dati tra i tuoi contenitori.

Docker contenitori di volume

Ora, se si monta una directory host per i contenitori, in qualche modo rompere la bella isolamento Docker fornisce. "Inquinerai" il tuo host con i dati dei contenitori. Per evitare ciò, è possibile creare un contenitore dedicato per memorizzare i dati. Docker chiama questo contenitore un "Contenitore volume dati".

Questo contenitore avrà un volume che si desidera condividere tra i contenitori, ad es .:

docker run -d -v /some/data/to/share --name MyDataContainer some/image 

Questo contenitore verrà eseguito alcune applicazioni (ad esempio un database) e dispone di una cartella denominata /some/data/to/share. È possibile condividere questa cartella con un altro contenitore ora:

docker run -d --volumes-from MyDataContainer some/image 

Questo contenitore vedrà anche lo stesso volume del comando precedente. È possibile condividere il volume tra molti contenitori poiché è possibile condividere una cartella montata dell'host. Ma non inquinerà il tuo host con i dati: tutto è ancora incapsulato in contenitori isolati.

mie risorse

https://docs.docker.com/userguide/dockervolumes/

+0

Grazie Thomas, che suona bene. Stanno usando il protocollo di rete per comunicare tra il contenitore del volume di dati e l'altro contenitore? Stanno usando socket TCP, UDP, Unix o qualche altro tipo di protocollo di comunicazione os? Ciò consentirebbe di collegare un contenitore di volumi di dati sulla rete? –

+1

Esiste un comando docker semplice per mostrare i contenitori di volume esistenti? e possibilmente la struttura di dipendenza dei dati? –

+0

I contenitori di volume sono molto simili agli altri contenitori Docker. Il modo migliore per dire quali contenitori vengono utilizzati come contenitori di volume è nominarli in modo appropriato. Quindi puoi dire rapidamente quali sono i contenitori di volume che usano il comando 'docker ps'. – freethebees

Problemi correlati