0Pricing
Docker & DevOps Fundamentals · Lezione

Bind mount e mount tmpfs

Impari a conoscere i bind mount per accedere ai file dell’host e i mount tmpfs per archiviare dati temporanei.

Bind mount e mount tmpfs è una lezione Docker & DevOps Fundamentals gratuita su CoddyKit. Questa è la lezione 3 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 Docker & DevOps Fundamentals, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Docker & DevOps Fundamentals include 4 lezioni in totale.

La memorizzazione dei dati oltre i volumi

Nelle lezioni precedenti abbiamo imparato a usare i volumi Docker per la memorizzazione persistente dei dati. Ma cosa succede se ha bisogno di condividere direttamente file dal computer host o di memorizzare dati temporanei che non devono essere persistenti?

Questa lezione presenta altri due modi per gestire i dati: i bind mount e i mount tmpfs. Offrono flessibilità per diversi casi d'uso.

Bind mount e mount tmpfs — illustrazione 1

Cosa sono i bind mount?

Un bind mount consente di montare un file o una directory del computer host all'interno di un container. In questo modo si crea un collegamento diretto: le modifiche apportate su un lato vengono riflesse immediatamente sull'altro.

  • Percorso sull'host: la posizione sul computer.
  • Percorso nel container: la posizione all'interno del container.
  • È ideale per lo sviluppo, la condivisione della configurazione o l'accesso ai file dell'host.

I bind mount in azione

Vediamo un bind mount in azione. Questo comando monta la directory corrente (rappresentata da $(pwd) su Linux/macOS o da %cd% su Windows CMD) nella directory /app del container.

Nota: prima di eseguire il comando, crei nella directory corrente un file denominato hello.txt contenente del testo, ad esempio "Hello from host!".

docker run --rm -it \
  -v "$(pwd):/app" \
  alpine:latest sh -c "ls /app && cat /app/hello.txt"

Bind mount in sola lettura

A volte si desidera condividere i dati dell'host impedendo però al container di modificarli. In questi casi sono utili i bind mount in sola lettura.

Può specificare :ro alla fine del percorso di montaggio oppure usare il flag --mount con readonly.

docker run --rm -it \
  -v "$(pwd):/app:ro" \
  alpine:latest sh -c "touch /app/new_file.txt || echo 'Permission denied!'"

Comprendere l'output in sola lettura

Quando ha eseguito il comando precedente, dovrebbe aver visualizzato il messaggio "Permission denied!". Questo conferma che il container non ha potuto creare un nuovo file nella directory /app, perché era montata in sola lettura.

Si tratta di un'ottima funzionalità di sicurezza per proteggere i file dell'host da modifiche accidentali o dannose da parte di un container.

Cosa sono i mount tmpfs?

Un mount tmpfs è un file system temporaneo memorizzato interamente nella memoria (RAM) dell'host. Ciò significa che i dati scritti in un mount tmpfs non sono persistenti.

  • I dati vengono persi quando il container si arresta.
  • Le operazioni di I/O sono più veloci rispetto alla memorizzazione su disco.
  • È adatto per dati sensibili o file temporanei.

I mount tmpfs in azione

Creiamo un container con un mount tmpfs. Scriveremo un file al suo interno e poi usciremo dal container. Quando eseguirà un nuovo container, il file non ci sarà più.

Il flag --tmpfs specifica il punto di montaggio all'interno del container.

docker run --rm -it \
  --tmpfs /app/temp_data \
  alpine:latest sh -c "echo 'Ephemeral data' > /app/temp_data/my_temp_file.txt && ls /app/temp_data"

Verificare la natura effimera di tmpfs

Dopo aver eseguito l'ultimo comando, ha visualizzato my_temp_file.txt nell'elenco. Ora esegua questo comando per avviare un *nuovo* container con la *stessa* configurazione del mount tmpfs.

Noterà che my_temp_file.txt non è più presente. Questo conferma che i dati di tmpfs sono effettivamente temporanei e specifici del ciclo di vita del container.

docker run --rm -it \
  --tmpfs /app/temp_data \
  alpine:latest ls /app/temp_data

Bind mount a confronto con mount tmpfs

Quando utilizzare ciascuna soluzione?

  • Bind mount: per condividere file dell'host (ad esempio configurazioni e codice sorgente) con i container, garantendo la persistenza e l'accesso diretto dall'host.
  • Mount tmpfs: per dati temporanei e non persistenti che richiedono prestazioni elevate o che non devono sopravvivere al riavvio dei container (ad esempio cache e dati sensibili di runtime).

Entrambe le soluzioni completano i volumi Docker, offrendo una gamma completa di opzioni per la gestione dei dati.

Verifica rapida: tipi di mount

Quali delle seguenti affermazioni sui bind mount e sui mount tmpfs sono vere?

Riepilogo: strumenti per la gestione dei dati

Ottimo lavoro! Ha ampliato il suo kit di strumenti Docker per la gestione dei dati.

  • I bind mount collegano file e directory dell'host ai container, risultando ideali per lo sviluppo e la condivisione delle configurazioni.
  • I mount tmpfs forniscono una memorizzazione temporanea in memoria, perfetta per dati non persistenti o sensibili.

Comprendere queste opzioni la aiuta a scegliere la soluzione di archiviazione adatta per le sue applicazioni containerizzate.

Domande Frequenti

La lezione «Bind mount e mount tmpfs» è gratuita?

Sì — il testo completo di «Bind mount e mount tmpfs» è 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 Docker & DevOps Fundamentals, passa a CoddyKit PRO. Il corso Docker & DevOps Fundamentals include 4 lezioni in totale.

Cosa imparerò in «Bind mount e mount tmpfs»?

Impari a conoscere i bind mount per accedere ai file dell’host e i mount tmpfs per archiviare dati temporanei. Eserciti Docker & DevOps Fundamentals 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 Docker & DevOps Fundamentals?

Non è richiesta alcuna esperienza precedente. Docker & DevOps Fundamentals su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Bind mount e mount tmpfs»?

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 Docker & DevOps Fundamentals?

Sì. Ogni lezione Docker & DevOps Fundamentals 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

  1. Nozioni di base sul networking dei container
  2. Volumi Docker per la persistenza
  3. Bind mount e mount tmpfs
  4. Reti bridge personalizzate e service discovery
← Torna a Docker & DevOps Fundamentals