I container sono pensati per essere distrutti e ricreati più volte a partire dalla stessa immagine.
Questo approccio fa parte del concetto di “infrastruttura immutabile” che garantisce lo stesso container ad ogni nuovo deploy.
Viene da se che quando si presenta l’esigenza di persistere delle informazioni oltre il ciclo di vita del container o tra più container è necessario avere qualche soluzione che stia al di fuori del container stesso.
A dire il vero, è possibile persistere le informazioni anche su un container fino al momento in cui questo container viene distrutto (abbiamo visto tale aspetto qui ). Tuttavia non è la migliore strategia se poi queste informazioni devono essere disponibili anche al di fuori del contesto di quel singolo container.
Per gestire la persistenza dei dati, Docker fornisce due strade:
- Volumes
- Bind Mounts
Volumi
I volumi sono uno spazio creato al di fuori dello Union File System del container che può essere acceduto da più container e che viene persistito anche quando non è utilizzato da alcun container.
Possono essere connessi a più container che ci interagiranno mediante un percorso locale definito da noi.
Bind Mounts
Alla stregua dei mount classici di linux, un bind mount è una condivisione di una cartella.
Con questa tipologia di persistenza, andiamo a condividere una cartella dell’host con il container specificando anche in questo caso a quale path deve accedere in locale per poterci avere accesso.
—
Prosegui su: Volumi e Bind Mounts