Ricerca…


Osservazioni

Le persone nuove in Docker spesso non si rendono conto che i filesystem Docker sono temporanei per impostazione predefinita. Se si avvia un'immagine Docker, si otterrà un contenitore che in superficie si comporta in modo molto simile a una macchina virtuale. È possibile creare, modificare ed eliminare file. Tuttavia, a differenza di una macchina virtuale, se interrompi il contenitore e lo avvii di nuovo, tutte le tue modifiche andranno perse: tutti i file che hai precedentemente eliminato torneranno e tutti i nuovi file o modifiche apportate non saranno presenti.

I volumi nei contenitori docker consentono dati persistenti e per la condivisione dei dati della macchina host all'interno di un contenitore.

A) Avviare un contenitore con un volume

[root@localhost ~]# docker run -it -v  /data  --name=vol3   8251da35e7a7 /bin/bash
root@d87bf9607836:/# cd /data/
root@d87bf9607836:/data# touch abc{1..10}
root@d87bf9607836:/data# ls

abc1 abc10 abc2 abc3 abc4 abc5 abc6 abc7 abc8 abc9

B) Ora premi [cont + P + Q] per uscire dal contenitore senza terminare il contenitore controllando il contenitore in esecuzione

[root@localhost ~]# docker ps

ID CONTENITORE IMMAGINE COMANDO CREATO STATO PORTO NOMI d87bf9607836 8251da35e7a7 "/ bin / bash" Circa un minuto fa Fino 31 secondi vol3 [root @ localhost ~] #

C) Esegui 'docker inspect' per controllare maggiori informazioni sul volume

[root@localhost ~]# docker inspect  d87bf9607836

"Supporti": [{"Nome": "cdf78fbf79a7c9363948e133abe4c572734cd788c95d36edea0448094ec9121c", "Origine": "/ var / lib / docker / volumi / cdf78fbf79a7c9363948e133abe4c572734cd788c95d36edea0448094ec9121c / _data", "Destinazione": "/ dati", "Driver": "locale", "Modalità": "", "RW": vero

D) È possibile allegare un volume di contenitori in esecuzione a un altro contenitore

[root@localhost ~]# docker run -it  --volumes-from  vol3  8251da35e7a7  /bin/bash

root@ef2f5cc545be:/# ls

bin boot data dev etc home lib lib64 media mnt opt ​​proc root run sbin srv sys tmp usr var

root@ef2f5cc545be:/# ls / data abc1 abc10 abc2 abc3 abc4 abc5 abc6 abc7 abc8 abc9

E) Puoi anche montare la tua directory di base all'interno del contenitore

[root@localhost ~]# docker run -it  -v  /etc:/etc1 8251da35e7a7 /bin/bash

Qui: / etc è la directory della macchina host e / etc1 è la destinazione all'interno del contenitore



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