🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Creare e Gestire Container Docker

Codegrind Team•Aug 28 2024

I container Docker sono una tecnologia fondamentale per la containerizzazione delle applicazioni, permettendo di eseguire il software in un ambiente isolato e coerente. Saper creare e gestire container Docker è essenziale per chiunque lavori nello sviluppo software o nell’amministrazione di sistemi. In questa guida, esploreremo i comandi base per creare e gestire container Docker, coprendo la creazione, l’avvio, la gestione delle risorse e la rimozione dei container.

1. Creare un Container

La creazione di un container Docker avviene utilizzando il comando docker run, che crea e avvia un container da un’immagine Docker.

Comando Base per Creare e Avviare un Container

docker run -d --name my_container nginx
  • -d: Esegue il container in modalità detach (in background).
  • –name: Assegna un nome al container.
  • nginx: Specifica l’immagine Docker da utilizzare per creare il container.

Questo comando crea e avvia un container basato sull’immagine nginx, eseguendolo in background con il nome my_container.

Esempio di Creazione di un Container con Porte Mappate

docker run -d --name my_web_app -p 8080:80 nginx
  • -p 8080:80: Mappa la porta 8080 dell’host alla porta 80 del container, rendendo il servizio Nginx accessibile tramite http://localhost:8080.

2. Visualizzare i Container

Puoi visualizzare l’elenco dei container in esecuzione (o fermati) utilizzando il comando docker ps.

Visualizzare i Container in Esecuzione

docker ps

Questo comando elenca tutti i container attualmente in esecuzione, mostrando informazioni come l’ID del container, il nome, l’immagine utilizzata, lo stato e le porte esposte.

Visualizzare Tutti i Container (Inclusi i Fermati)

docker ps -a

Il flag -a elenca tutti i container, inclusi quelli fermati.

3. Fermare e Riavviare un Container

Puoi fermare un container in esecuzione e riavviarlo utilizzando i comandi docker stop e docker start.

Fermare un Container

docker stop my_container

Questo comando ferma il container chiamato my_container. Il container rimane fermato fino a quando non viene riavviato o rimosso.

Riavviare un Container

docker start my_container

Questo comando riavvia il container fermato chiamato my_container.

Riavviare un Container Fermato (Comando Unico)

Puoi fermare e riavviare un container con un unico comando:

docker restart my_container

4. Accedere a un Container in Esecuzione

Puoi accedere alla shell di un container in esecuzione utilizzando il comando docker exec. Questo è utile per eseguire comandi all’interno del container o per esplorare il file system del container.

Esempio di Accesso alla Shell di un Container

docker exec -it my_container bash
  • -it: Esegue il comando in modalità interattiva con un terminale collegato.
  • bash: Apre una shell Bash all’interno del container my_container.

Se il container non ha bash, puoi utilizzare sh come shell alternativa:

docker exec -it my_container sh

5. Gestire le Risorse dei Container

Puoi monitorare e gestire le risorse utilizzate dai container, come la CPU e la memoria, utilizzando il comando docker stats.

Visualizzare le Statistiche delle Risorse

docker stats

Questo comando mostra una tabella interattiva con le statistiche in tempo reale delle risorse utilizzate dai container in esecuzione, inclusi l’utilizzo della CPU, della memoria e della rete.

6. Salvare i Dati con Volumi Docker

Per preservare i dati tra riavvii o aggiornamenti dei container, puoi utilizzare i volumi Docker. I volumi montano una directory del sistema host all’interno del container.

Creare un Container con un Volume

docker run -d --name my_container -v /host/path:/container/path nginx

In questo esempio, i dati scritti nella directory /container/path all’interno del container saranno conservati nella directory /host/path del sistema host.

7. Visualizzare i Log dei Container

Puoi visualizzare i log di un container in esecuzione per monitorare l’output dell’applicazione o per diagnosticare eventuali problemi.

Esempio di Visualizzazione dei Log

docker logs my_container

Seguire i Log in Tempo Reale

docker logs -f my_container

Il flag -f segue i log in tempo reale, aggiornandosi man mano che nuovi log vengono generati.

8. Rimuovere Container

Puoi rimuovere un container fermato utilizzando il comando docker rm.

Rimuovere un Singolo Container

docker rm my_container

Rimuovere Più Container

Puoi rimuovere più container specificando i loro nomi o ID separati da uno spazio:

docker rm container1 container2

Forzare la Rimozione di un Container in Esecuzione

docker rm -f my_container

Il flag -f forza la rimozione di un container in esecuzione, fermandolo prima di rimuoverlo.

Rimuovere Tutti i Container Fermati

docker rm $(docker ps -a -q)

Questo comando rimuove tutti i container fermati. L’opzione -q restituisce solo gli ID dei container.

Conclusione

Gestire container Docker è una competenza essenziale per chi lavora con applicazioni containerizzate. Con i comandi base come docker run, docker ps, docker stop, e docker rm, puoi creare, avviare, fermare e rimuovere container in modo efficiente. Saper accedere alla shell di un container, monitorare le risorse e gestire i volumi ti permette di mantenere un controllo completo sull’ambiente di esecuzione, garantendo che le tue applicazioni siano sempre performanti e ben gestite.