Gestione dei dati con i volumi Docker
Comprenda perché i container perdono i dati quando vengono rimossi e impari a conservarli e condividerli usando i volumi Docker e i bind mount.
Gestione dei dati con i volumi Docker è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.
I container sono effimeri
I container sono effimeri: tutto ciò che viene scritto vive all'interno del container e la sua rimozione elimina i dati. Questo va bene per le applicazioni stateless, ma un database deve conservare i propri dati.
Il livello scrivibile
Ogni container ha un sottile livello scrivibile sopra la propria immagine. Le scritture vengono effettuate lì, ma il livello è legato al ciclo di vita del container: eliminando il container, scompare anche quel livello.
Due modi per rendere persistenti i dati
Docker offre due modi per rendere persistenti i dati: i volumi (gestiti da Docker) e i bind mount (una cartella dell'host mappata nel container). I volumi sono la scelta predefinita consigliata.
Creazione di un volume
Crei un volume denominato con un solo comando, usando docker volume create. Docker decide dove si trova fisicamente, quindi non deve occuparsene.
docker volume create app-dataMontaggio di un volume
Colleghi un volume con -v usando volumeName:/path/in/container. Da questo momento, tutto ciò che viene scritto in quel percorso viene conservato nel volume.
docker run -d -v app-data:/var/lib/data myimageI dati sopravvivono alla rimozione
Poiché il volume è indipendente dal container, può eliminare il container, avviarne uno nuovo con lo stesso volume e ritrovare comunque i dati.
docker rm -f mycontainer
docker run -d -v app-data:/var/lib/data myimageBind mount per lo sviluppo locale
Un bind mount mappa una directory dell'host nel container: è perfetto per lo sviluppo, perché le modifiche al codice sul computer vengono mostrate immediatamente all'interno del container.
docker run -v /Users/me/project:/app node:20Volumi e bind mount a confronto
Scelga in base all'utilizzo: i volumi sono adatti ai dati di produzione portabili e gestiti da Docker, mentre i bind mount sono ideali per lo sviluppo, quando desidera un percorso dell'host preciso e il pieno controllo.
Ispezione dei volumi
docker volume ls elenca i volumi e docker volume inspect ne mostra i dettagli, incluso il punto in cui i dati risiedono effettivamente sul disco.
docker volume ls
docker volume inspect app-dataCondivisione dei dati tra container
Monti un volume in più container per consentire loro di condividere i file: ad esempio, un container dell'applicazione e uno di backup possono leggere gli stessi dati.
docker run -v shared:/data writer
docker run -v shared:/data readerPulizia
I volumi inutilizzati sprecano spazio su disco. Ne rimuova uno con docker volume rm oppure elimini quelli orfani con docker volume prune; proceda con cautela, perché questa operazione elimina definitivamente i dati.
docker volume rm app-data
docker volume pruneVerifica rapida
Verifichi la sua comprensione dei dati in Docker.
Riepilogo
Ha imparato a rendere persistenti i dati: i container sono effimeri, i volumi sopravvivono alla rimozione e si montano con -v name:/path, mentre i bind mount sono adatti allo sviluppo.
Domande Frequenti
La lezione «Gestione dei dati con i volumi Docker» è gratuita?
Sì — il testo completo di «Gestione dei dati con i volumi Docker» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.
Cosa imparerò in «Gestione dei dati con i volumi Docker»?
Comprenda perché i container perdono i dati quando vengono rimossi e impari a conservarli e condividerli usando i volumi Docker e i bind mount. Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Gestione dei dati con i volumi Docker»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Che cosa sono i container?
- Installazione di Docker Desktop
- Il primo container Docker
- Gestione dei dati con i volumi Docker