CodeGym /Corsi /Docker SELF /Creazione e gestione dei volumi

Creazione e gestione dei volumi

Docker SELF
Livello 19 , Lezione 1
Disponibile

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:

  1. docker volume create
  2. docker volume ls
  3. docker volume inspect
  4. docker volume rm
  5. 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.

Terminale

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.

Terminale

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.

Terminal

docker volume ls

L'output conterrà informazioni su tutti i volumi esistenti:

Terminal

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.

Terminale

docker volume inspect my_volume

L'output del comando conterrà informazioni in formato JSON:

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.

Terminale

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.

Terminale

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:

Terminal

docker volume create app_data

Avvio di un container utilizzando il volume:

Terminal

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:

Terminal

docker volume create logs_data

Avvio di un container utilizzando il volume:

Terminal

docker run -d --name log_app -v logs_data:/var/log/app busybox

Visualizzare informazioni su un volume:

Terminal

docker volume inspect logs_data

Esempio 3: Eliminazione e pulizia dei volumi

Creazione e utilizzo di un volume:

Terminal

docker volume create temp_data

docker run -d --name temp_app -v temp_data:/tmp busybox

Arresto e rimozione del container:

Terminal

docker stop temp_app

docker rm temp_app

Rimozione del volume:

Terminal

docker volume rm temp_data

Pulizia di tutti i volumi non utilizzati:

Terminal

docker volume prune
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION