Introduzione
Docker è una piattaforma di containerizzazione che consente di creare, testare e distribuire rapidamente applicazioni come container portatili e autosufficienti che possono essere praticamente eseguiti ovunque. È lo standard di fatto per l'implementazione di container ed è uno strumento essenziale per gli ingegneri DevOps e la loro pipeline di integrazione e consegna continua.
In questo articolo, spiegheremo come elencare i contenitori Docker.
Elencare i contenitori Docker
Il comando Docker per elencare i contenitori assume la forma seguente:
docker container ls [options]
Le versioni precedenti di Docker precedenti alla 1.13 utilizzano un comando diverso per elencare i contenitori:
docker ps [options]
Il comando sopra è ancora supportato nelle versioni Docker più recenti in cui il comando ps
è un alias di container ls
.
Per elencare il contenitore in esecuzione, eseguire il comando docker container ls
senza alcuna opzione:
docker container ls
L'output sarà simile al seguente:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
g25t256ef623 postgres "docker-entrypoint.s…" 1 hours ago Up 2 hours 5432/tcp pg
2352h423454g redis "docker-entrypoint.s…" 2 hours ago Up 4 hours 6379/tcp cache
12g5g514454f nginx "nginx -g 'daemon of…" 1 hours ago Up 2 hours 80/tcp web
Ogni riga dell'output include le seguenti colonne:
Container ID
- Una stringa alfanumerica univoca che identifica ciascun contenitore.Image
- L'immagine Docker utilizzata per creare il contenitore.Command
- Il comando che viene eseguito all'avvio del contenitore.Created
- Il tempo di creazione del contenitore.Status
- Lo stato del contenitore.Ports
- Le porte pubblicate del contenitore.Name
- Il nome del contenitore.
Se non ci sono container in esecuzione, viene visualizzata solo la riga di intestazione.
L'opzione -a
, --all
aggiunta al comando docker container ls
stampa un elenco di tutti i contenitori:
docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
124f134r2134 couchbase "/entrypoint.sh couc…" 4 hours ago Exited (0) 3 hours ago db
asfbafg23g34 postgres "docker-entrypoint.s…" 1 hours ago Up 2 hours 5432/tcp pg
3h425yu783k8 redis "docker-entrypoint.s…" 3 hours ago Up 4 hours 6379/tcp cache
013g345yh154 nginx "nginx -g 'daemon of…" 1 hours ago Up 2 hours 80/tcp web
Per impostazione predefinita, le colonne con una lunghezza superiore a un limite specificato vengono troncate. Utilizzare l'opzione --no-trunc
per disabilitare il troncamento:
docker container ls --no-trunc
Per visualizzare solo gli ID dei contenitori passare l'opzione -q
, --quiet
:
docker container ls -q
asfbafg23g34
3h425yu783k8
013g345yh154
L'opzione --format
consente di formattare l'output utilizzando un modello Go. Ad esempio, per stampare solo i nomi e lo stato dei contenitori, inclusa l'intestazione, si dovrebbe eseguire:
docker container ls --format 'table {{.Names}}\t{{.Status}}'
NAMES STATUS
pg Up 1 hours
cache Up 3 hours
web Up 1 hours
Utilizzare l'opzione -s
, --size
per visualizzare le dimensioni dei contenitori:
docker container ls -s
Ogni riga includerà una colonna denominata SIZE
che mostra la dimensione del contenitore:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
asfbafg23g34 postgres "docker-entrypoint.s…" 1 hours ago Up 1 hours 5432/tcp pg 86B (virtual 451MB)
3h425yu783k8 redis "docker-entrypoint.s…" 3 hours ago Up 3 hours 6379/tcp cache 0B (virtual 87.1MB)
013g345yh154 nginx "nginx -g 'daemon of…" 1 hours ago Up 1 hours 80/tcp web 3B (virtual 216MB)
L'opzione --last
, -n
indica al comando di visualizzare gli ultimi n
contenitori creati, inclusi tutti gli stati. Ad esempio, per visualizzare gli ultimi due contenitori creati dovresti eseguire:
docker container ls -n 2
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
245h5453f355 couchbase "/entrypoint.sh couc…" 4 hours ago Exited (0) 2 hours ago db
asfbafg23g34 postgres "docker-entrypoint.s…" 1 hours ago Up 1 hours 5432/tcp pg
C'è anche un'opzione per elencare solo l'ultimo contenitore creato --latest
, -l
che è lo stesso di -n 1
:
docker container ls -l
L' opzione --filter
, -f
consente di filtrare l'output in base a determinati criteri. Ad esempio, per visualizzare solo i contenitori con stato exited
:
docker container ls -f "status=exited"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
245h5453f355 couchbase "/entrypoint.sh couc…" 4 hours ago Exited (0) 2 hours ago db
Per un elenco di tutti i filtri supportati, consultare la documentazione Docker
Conclusione
Un contenitore Docker è un'istanza di runtime autonoma di un'immagine. Per elencare i contenitori Docker, utilizzare il comando docker container ls
o il suo alias docker ps
.