Como listar contêineres no Docker

965

Há um comando para listar imagens, docker imagesmas não parece haver uma correspondência docker containers.

Diferente de se tornar raiz e olhar para /var/lib/dockerlá, não parece uma maneira de fazer isso. Estou esquecendo de algo? Isso é algo que não se deve fazer?

w00t
fonte
Pergunta semelhante no estouro de pilha stackoverflow.com/questions/38464549/…
Yogesh 29/17

Respostas:

1639

Para mostrar apenas os contêineres em execução, use o comando fornecido:

docker ps

Para mostrar todos os contêineres, use o comando fornecido:

docker ps -a

Para mostrar o contêiner criado mais recente (inclui todos os estados), use o comando fornecido:

docker ps -l

Para mostrar os últimos contêineres criados (inclui todos os estados), use o comando fornecido:

docker ps -n=-1

Para exibir o tamanho total do arquivo, use o comando fornecido:

docker ps -s

O conteúdo apresentado acima é de docker.com .

Na nova versão do Docker, os comandos são atualizados e alguns comandos de gerenciamento são adicionados:

docker container ls

É usado para listar todos os contêineres em execução.

docker container ls -a

E então, se você quiser limpar todos eles,

docker rm $(docker ps -aq)

É usado para listar todos os contêineres criados independentemente do seu estado.

E para parar todos os contêineres do Docker (força)

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

Aqui o contêiner é o comando de gerenciamento.

vieux
fonte
@RutgerHofste ambos os comandos ( docker rme docker ps) não aparecer na ajuda de janela de encaixe.
Munchkin
10
Outra maneira útil de limpar todos os itens desnecessários, como recipientes pendurados, imagens não usadas, logs etc. é usando docker system prune --all. Você pode encontrar a documentação do docker aqui
Arun Thundyill Saseendran 19/17/17
depois que uma imagem é puxada, ps -a NÃO a lista. parece que você só pode listar imagens que foram executadas pelo menos uma vez?
ftravers
docker pslista todos os contêineres em execução e pausados. Para listar apenas os que estão sendo executados:docker ps --filter="status=running"
WindyFields 21/03
O @ftravers docker psmostra apenas informações sobre contêineres. O que você deseja é informações sobre imagens. Você pode ver todas as imagens locais usando o docker imagescomando
Lappro
141

Para listar todos os contêineres em execução e parados

docker ps -a

Para listar todos os contêineres em execução (apenas afirmando o uso óbvio e também exemplo de opção de filtragem -f)

docker ps -a -f status=running

Para listar todos os contêineres em execução e parados, mostrando apenas seu ID de contêiner

docker ps -aq

Para remover todos os contêineres que NÃO estão em execução

docker rm `docker ps -aq -f status=exited`
kramfs
fonte
32

Observe que, há algum tempo, houve uma atualização para este comando. Por padrão, não mostrará o tamanho do contêiner (pois isso é bastante caro para muitos contêineres em execução). Use docker ps -spara exibir o tamanho do contêiner também.

qkrijger
fonte
Conforme a resposta de mrh abaixo, você também precisará da opção -a para visualizar os contêineres que não estão em execução (provavelmente o caso daqueles que você deseja remover); portanto, o comando final é docker ps -as(não esqueça de acrescentar sudose o daemon está sendo executado como root)
Anthony DiSanti
21

O docker ps -s mostrará apenas o tamanho dos contêineres em execução.

Para verificar o tamanho de todos os contêineres, use docker ps -as

mrh
fonte
19

Existem também as seguintes opções:

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

desde: 1.13.0 (18-01- 2017) :

Reestruture os comandos da CLI adicionando docker imagee docker containercomandos para obter mais consistência # 26025

e como declarado aqui: Apresentando o Docker 1.13 , os usuários são encorajados a adotar a nova sintaxe:

CLI reestruturado

No Docker 1.13, reagrupamos todos os comandos para ficar embaixo do objeto lógico com o qual ele está interagindo. Por exemplo, liste startde contêineres agora são subcomandos docker containere historyé um subcomando de docker image.

Essas alterações permitem limpar a sintaxe da CLI do Docker, melhorar o texto de ajuda e simplificar o uso do Docker. A sintaxe antiga de comando ainda é suportada, mas incentivamos todos a adotar a nova sintaxe .

tgogos
fonte
1
ótimas informações, uma pena que docker --helpa interface sugerida tenha 3 páginas de volta em sua saída, oculta antes dos comandos preteridos!
Danio
13

Para listar apenas os contêineres SHA1:

docker ps -aq --no-trunc

Dessa forma, você pode usar a lista de todos os contêineres para outros comandos (que aceitam vários IDs de contêineres como parâmetros).

Por exemplo, para listar apenas o nome de todos os contêineres (como docker pslistar apenas seus nomes com outras informações):

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

O conjunto de comandos do Docker é simples e se mantém bem:

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

Ensinar os aliases primeiro é confuso. Depois de entender o que está acontecendo, eles podem salvar algumas teclas:

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

Existem vários aliases no Docker. Por exemplo:

docker rmi
docker image rm
docker image rmi
docker image remove

são todos o mesmo comando (veja você mesmo docker help image rm).

Expiação limitada
fonte
4

Existem várias maneiras de listar todos os contêineres.

Você pode encontrar usando 3 aliases ls, ps, listcomo este.

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

Você também pode usar a opção give [option].

Opções -:

  -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

Você pode usar uma opção como esta:

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
Mr Singh
fonte
3

Para exibir apenas contêineres em execução

docker ps

Para mostrar todos os contêineres (inclui todos os estados)

docker ps -a

Para mostrar o contêiner criado mais recente (inclui todos os estados)

docker ps -l

Para mostrar os últimos contêineres criados (inclui todos os estados)

docker ps -n=-1

Para exibir o tamanho total do arquivo

docker ps -s

Na nova versão do Docker, os comandos são atualizados e alguns comandos de gerenciamento são adicionados:

docker container ls

Listar todos os contêineres em execução.

docker container ls -a

Ankit Marothi
fonte
3

Lista de contêineres em execução : -

$ docker ps

Listar todos os recipientes: -

$ docker ps -a

Listar apenas contêineres parados : -

$ docker ps --filter "status=exited"

ou

$ docker ps -f "status=exited"

daniel maina
fonte
Esses comandos já foram publicados várias vezes - qual é o motivo da duplicação de outras respostas?
Nico Haase
2

apenas uma maneira conveniente de obter os últimos n = 5 contêineres (não importa a execução ou não):

$ docker container ls -a -n5
Vic K
fonte
2

Use docker container lspara listar todos os contêineres em execução.

Use o sinalizador -apara mostrar todos os contêineres (não apenas em execução). iedocker container ls -a

Use o sinalizador -qpara mostrar contêineres e seus IDs numéricos. iedocker container ls -q

Visite a documentação para aprender todas as opções disponíveis para este comando.

menuka
fonte
1

Recebi a mensagem de erro Cannot connect to the Docker daemon.que esqueci que estou executando o daemon como root e necessário sudo:

$ sudo docker ps
vezenkov
fonte
1
alias docker="sudo --group docker docker"
Ctrl-alt-delor
1
docker ps [OPTIONS]

O comando a seguir mostrará apenas os contêineres em execução por padrão.

docker ps

Para ver todos os contêineres:

docker ps -a

Para mostrar o contêiner criado mais recente:

docker ps -l
Nobita
fonte