Montare cartelle (o file system) significa collegare o connettere un file system (cartella o directory) a una posizione specifica di un altro file system. Ciò consente di rendere accessibile il contenuto di una cartella all'interno di un'altra cartella o addirittura in un'altra posizione del sistema.
Il montaggio delle cartelle è una funzione importante dei sistemi operativi e viene spesso utilizzata nel contesto della containerizzazione come Docker o della virtualizzazione per consentire l'accesso a file e dati tra la macchina host e i container o le macchine virtuali.
L'idea di base del montaggio delle cartelle consiste nel dividere un'area di archiviazione fisica (come un disco o un file system) in diverse aree logiche per organizzare e accedere ai file. Ciò consente di controllare e modificare il contenuto di un file system senza influenzare altri file system o directory.
Il montaggio delle cartelle è spesso utilizzato per scambiare dati tra la macchina host e i container, aggiornare il codice durante lo sviluppo di un'applicazione, memorizzare database o personalizzare i file di configurazione.
Il montaggio delle cartelle in Docker Compose consente di scambiare dati tra la macchina host e i container, offrendo diversi vantaggi e opportunità:
In Docker Compose, è possibile montare le cartelle della macchina host nei contenitori usando l'opzione `volumi`
. Ecco un esempio di utilizzo dei volumi
nel file docker-compose.yml
:
yaml
version: '3'
services:
app:
image: nginx
volumes:
- /path_to_host_folder:/path_to_folder_volume
Nell'esempio precedente,"/path_to_host_folder
" è il percorso della cartella sul computer host che si vuole montare in un contenitore. `/path_to_folder_volume`
è il percorso della cartella all'interno del contenitore in cui si vuole montare la cartella host.
È anche possibile usare percorsi relativi invece di percorsi assoluti, specificando il percorso relativo alla posizione del file `docker-compose.yml`
. In questo caso, usare `./`
per specificare la directory corrente.
yaml
version: '3'
services:
app:
image: nginx
volumes:
- ./host's_folder:/path_to_folder_volume
È anche possibile specificare più cartelle montate, semplicemente aggiungendole all'elenco `volumi`
.
yaml
version: '3'
services:
app:
image: nginx
volumes: