Come elencare i contenitori in Docker


965

C'è un comando per elencare le immagini, docker imagesma non sembra esserci un corrispondente docker containers.

Oltre a diventare root e guardare /var/lib/dockerlì dentro non sembra un modo per farlo. Mi sto perdendo qualcosa? È qualcosa che non si dovrebbe fare?


Domanda simile su Stack Overflow stackoverflow.com/questions/38464549/…
Yogesh

Risposte:


1639

Per mostrare solo i contenitori in esecuzione, utilizzare il comando dato:

docker ps

Per mostrare tutti i contenitori usare il comando dato:

docker ps -a

Per mostrare l' ultimo contenitore creato (include tutti gli stati) utilizzare il comando dato:

docker ps -l

Per mostrare n ultimi contenitori creati (include tutti gli stati) utilizzare il comando dato:

docker ps -n=-1

Per visualizzare le dimensioni totali dei file, utilizzare il comando indicato:

docker ps -s

I contenuti presentati sopra provengono da docker.com .

Nella nuova versione di Docker, i comandi vengono aggiornati e vengono aggiunti alcuni comandi di gestione:

docker container ls

Viene utilizzato per elencare tutti i contenitori in esecuzione.

docker container ls -a

E poi, se vuoi pulirli tutti,

docker rm $(docker ps -aq)

Viene utilizzato per elencare tutti i contenitori creati indipendentemente dal suo stato.

E per fermare tutti i container Docker (forza)

docker rm -f $(docker ps -a -q)  

Qui il contenitore è il comando di gestione.


@RutgerHofste entrambi i comandi ( docker rme docker ps) non presentarsi in aiuto di finestra mobile.
Munchkin,

10
Un altro modo utile per pulire tutti gli oggetti non necessari come contenitori pendenti, immagini inutilizzate, registri ecc. È usare docker system prune --all. Puoi trovare la documentazione della finestra mobile qui
Arun Thundyill Saseendran,

dopo che un'immagine è stata estratta, ps -a, NON la elenca. sembra che puoi elencare solo le immagini che sono state eseguite almeno una volta?
ftravers il

docker pselenca tutti i contenitori in esecuzione e in pausa. Per elencare solo quelli in esecuzione:docker ps --filter="status=running"
WindyFields

@ftravers docker psmostra solo informazioni sui container. Quello che vuoi sono informazioni sulle immagini. Puoi vedere tutte le immagini locali usando il docker imagescomando.
Lappro,

141

Per elencare tutti i contenitori in esecuzione e fermati

docker ps -a

Per elencare tutti i container in esecuzione (indicando semplicemente l'uso ovvio e anche di esempio dell'opzione -f filtering)

docker ps -a -f status=running

Per elencare tutti i contenitori in esecuzione e fermati, mostrando solo il loro ID contenitore

docker ps -aq

Per rimuovere tutti i contenitori NON in esecuzione

docker rm `docker ps -aq -f status=exited`

32

Si noti che qualche tempo fa c'era un aggiornamento a questo comando. Non mostrerà la dimensione del contenitore per impostazione predefinita (poiché questo è piuttosto costoso per molti contenitori in esecuzione). Utilizzare docker ps -sper visualizzare anche le dimensioni del contenitore.


Come da risposta di mrh di seguito, avrai anche bisogno dell'opzione -a per visualizzare i contenitori che non sono in esecuzione (probabilmente lo sarà per quelli che vorresti rimuovere), quindi il comando finale è docker ps -as(non dimenticare di anteporre sudose il demone funziona come root)
Anthony DiSanti,

21

docker ps -s mostrerà solo le dimensioni dei container in esecuzione.

Per controllare le dimensioni di tutti i contenitori utilizzare docker ps -as


19

Ci sono anche le seguenti opzioni:

docker container ls
docker container ls -a
# --all, -a
# Show all containers (default shows just running)

da: 1.13.0 (18/01/2017) :

Ristruttura i comandi CLI aggiungendo docker imagee docker containercomandi per maggiore coerenza # 26025

e come indicato qui: Presentazione di Docker 1.13 , gli utenti sono incoraggiati ad adottare la nuova sintassi:

CLI ristrutturato

In Docker 1.13, abbiamo raggruppato tutti i comandi per sederci sotto l'oggetto logico con cui interagisce. Ad esempio, liste startdei contenitori sono ora sottocomandi di docker containered historyè un sottocomando di docker image.

Queste modifiche ci consentono di ripulire la sintassi della CLI Docker, migliorare il testo della guida e semplificare l'utilizzo di Docker. La vecchia sintassi dei comandi è ancora supportata, ma incoraggiamo tutti ad adottare la nuova sintassi .


1
grandi informazioni, un peccato che docker --helpabbia l'interfaccia suggerita di 3 pagine nel suo output, nascosta prima dei comandi obsoleti!
danio

13

Per elencare solo i contenitori SHA1:

docker ps -aq --no-trunc

In questo modo, è possibile utilizzare l'elenco di tutti i contenitori per altri comandi (che accettano più ID contenitore come parametri).

Ad esempio, per elencare solo il nome di tutti i contenitori (poiché docker pselenca solo i loro nomi con altre informazioni):

docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc)

13

Il set di comandi Docker è semplice e tiene insieme bene:

docker stack ls
docker service ls
docker image ls
docker container ls

Insegnare prima gli alias è confuso. Una volta capito cosa sta succedendo, possono salvare alcuni tasti:

docker images -> docker image ls
docker ps -> docker container ls
docker rmi -> docker image rm
docker rm -> docker container rm

Esistono diversi alias in Docker. Per esempio:

docker rmi
docker image rm
docker image rmi
docker image remove

sono tutti gli stessi comandi (vedi per te stesso usando docker help image rm).


4

Esistono molti modi per elencare tutti i contenitori.

Puoi trovare usando 3 alias ls, ps, listcome questo.

sudo docker container ls 
sudo docker container ps
sudo docker container list
sudo docker ps
sudo docker ps -a

Puoi anche usare l'opzione dare [option].

Opzioni -:

  -a, --all             Show all containers (default shows just running)
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print containers using a Go template
  -n, --last int        Show last created containers (includes all states) (default -1)
  -l, --latest          Show the latest created container (includes all states)
      --no-trunc        Don't truncate output
  -q, --quiet           Only display numeric IDs
  -s, --size            Display total file sizes

Puoi usare un'opzione come questa:

sudo docker ps //Showing only running containers
sudo docker ps -a //All container (running + stopped)
sudo docker pa -l // latest
sudo docker ps -n <int valuse 1,2,3 etc>// latest number of created containers
sudo docker ps -s // Display container with size
sudo docker ps -q // Only display numeric IDs for containers
docker docker ps -a | tail -n 1 //oldest container

3

Per visualizzare solo i contenitori in esecuzione

docker ps

Per mostrare tutti i contenitori (include tutti gli stati)

docker ps -a

Per mostrare l'ultimo contenitore creato (include tutti gli stati)

docker ps -l

Per mostrare n ultimi contenitori creati (include tutti gli stati)

docker ps -n=-1

Per visualizzare le dimensioni totali del file

docker ps -s

Nella nuova versione di Docker, i comandi vengono aggiornati e vengono aggiunti alcuni comandi di gestione:

docker container ls

Elencare tutti i contenitori in esecuzione.

docker container ls -a


3

Elenco contenitori in esecuzione : -

$ docker ps

Elencare tutti i contenitori: -

$ docker ps -a

Elenco solo contenitori fermati : -

$ docker ps --filter "status=exited"

o

$ docker ps -f "status=exited"


Questi comandi sono già stati pubblicati più volte: qual è la ragione per duplicare altre risposte?
Nico Haase,

2

solo un modo conveniente per ottenere gli ultimi n = 5 contenitori (indipendentemente dal fatto che funzionino o meno):

$ docker container ls -a -n5

2

Utilizzare docker container lsper elencare tutti i contenitori in esecuzione.

Usa il flag -aper mostrare tutti i container (non solo in esecuzione). vale a diredocker container ls -a

Usa il flag -qper mostrare i container e i loro ID numerici. vale a diredocker container ls -q

Visita la documentazione per conoscere tutte le opzioni disponibili per questo comando.


1

Ho ricevuto il messaggio di errore Cannot connect to the Docker daemon.Ho dimenticato che sto eseguendo il demone come root e avevo bisogno sudo:

$ sudo docker ps

1
alias docker="sudo --group docker docker"
ctrl-alt-delor,

1
docker ps [OPTIONS]

Il comando seguente mostrerà solo i contenitori in esecuzione per impostazione predefinita.

docker ps

Per vedere tutti i contenitori:

docker ps -a

Per mostrare l'ultimo contenitore creato:

docker ps -l
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.