2.1 Comandi principali di docker volume
I volumi (volumes) in Docker assicurano la conservazione a lungo termine dei dati dei container e permettono di gestire e isolare facilmente i dati. Il comando docker volume
offre un set di strumenti per creare, gestire e rimuovere i volumi. In questa lezione vedremo come utilizzare il comando docker volume
per una gestione efficiente dei volumi in Docker.
Comandi principali di docker volume:
docker volume create
docker volume ls
docker volume inspect
docker volume rm
docker volume prune
2.2 Creazione di un volume: docker volume create
Il comando docker volume create
serve per creare un nuovo volume. Di default, Docker crea il volume in una posizione standard sull'host, ma puoi anche specificare diversi parametri per personalizzare il volume.
Esempio semplice di creazione di un volume
Questo esempio creerà un volume con il nome my_volume
.
docker volume create my_volume
Creazione di un volume con impostazioni
Puoi specificare il driver e i parametri per creare un volume con caratteristiche definite.
docker volume create --driver local --opt o=uid=1000 --opt o=gid=1000 --opt type=tmpfs --opt
device=tmpfs my_custom_volume
Analizzeremo tutti questi parametri più avanti, per ora non prestare troppa attenzione a loro.
2.3 Lista dei volumi: docker volume ls
Il comando docker volume ls
mostra l'elenco di tutti i volumi creati sull'host.
docker volume ls
L'output conterrà informazioni su tutti i volumi esistenti:
DRIVER VOLUME NAME
local my_volume
local my_custom_volume
2.4 Informazioni sul volume: docker volume inspect
Il comando docker volume inspect
fornisce informazioni dettagliate su un volume specifico, inclusa la sua posizione, i parametri e l'utilizzo.
docker volume inspect my_volume
L'output del comando conterrà informazioni in formato JSON:
[
{
"CreatedAt": "2023-07-26T12:34:56Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/my_volume/_data",
"Name": "my_volume",
"Options": {},
"Scope": "local"
}
]
2.5 Eliminazione di un volume: docker volume rm
Il comando docker volume rm
viene usato per eliminare un volume. È importante assicurarsi che il volume non sia utilizzato da container prima della sua eliminazione.
Eliminazione di un volume
Se il volume è in uso, Docker restituirà un errore indicando che il volume non può essere eliminato.
docker volume rm my_volume
Pulizia dei volumi non utilizzati: docker volume prune
Il comando docker volume prune
elimina tutti i volumi non utilizzati, aiutando a liberare spazio sul disco.
Pulizia dei volumi non utilizzati
Dopo l'esecuzione del comando, Docker richiederà una conferma prima di eliminare tutti i volumi non utilizzati.
docker volume prune
2.6 Esempi di utilizzo pratico dei comandi
Esempio 1: Creazione e utilizzo di un volume in un container
Creazione di un volume:
docker volume create app_data
Avvio di un container utilizzando il volume:
docker run -d --name my_app -v app_data:/usr/share/nginx/html nginx
In questo esempio il volume app_data
è montato nella directory /usr/share/nginx/html
del container nginx
.
Esempio 2: Ottenere informazioni su un volume
Creazione di un volume:
docker volume create logs_data
Avvio di un container utilizzando il volume:
docker run -d --name log_app -v logs_data:/var/log/app busybox
Visualizzare informazioni su un volume:
docker volume inspect logs_data
Esempio 3: Eliminazione e pulizia dei volumi
Creazione e utilizzo di un volume:
docker volume create temp_data
docker run -d --name temp_app -v temp_data:/tmp busybox
Arresto e rimozione del container:
docker stop temp_app
docker rm temp_app
Rimozione del volume:
docker volume rm temp_data
Pulizia di tutti i volumi non utilizzati:
docker volume prune
GO TO FULL VERSION