⌘K

04 – Docker — Navegando pelo terminal: Entendendo o docker ps, docker ps -a e como listar imagens

Last updated

Quando começamos a subir e derrubar containers no dia a dia, o terminal pode virar uma verdadeira caixa-preta. Você sabe que tem processos rodando, sabe que baixou algumas imagens pesadas, mas como visualizar tudo isso? Como descobrir por que aquele banco de dados caiu ou se uma imagem de ETL ainda está ocupando espaço?

Para gerenciar sua infraestrutura com precisão, existem três comandos de visualização que formam a espinha dorsal de qualquer profissional de DevOps ou Dados: docker ps, docker ps -a e o gerenciamento de imagens (frequentemente confundido com comandos inexistentes, como veremos!).

Hoje vamos desmistificar o que cada um deles exibe e como usá-los para debugar falhas em segundos.

1. docker ps: O retrovisor dos containers ativos

O comando ps vem do clássico conceito de Process Status do Linux. Quando você digita apenas docker ps, o Docker exibe uma tabela em tempo real contendo apenas os containers que estão ativos e rodando neste exato momento.

Ele te dá um panorama rápido de:

  • CONTAINER ID: O identificador único daquela instância.
  • IMAGE: Qual imagem serviu de base (ex: postgres:15-alpine).
  • PORTS: Quais portas estão mapeadas (lembra do nosso post sobre mapeamento de portas?).
  • NAMES: O nome amigável do container (gerado automaticamente se você não definiu um com --name).

2. docker ps -a: Onde moram os containers parados (e as falhas)

E se o container tentou subir, encontrou um erro de sintaxe ou de variável de ambiente e morreu? Se você rodar apenas o docker ps, ele não vai aparecer ali. É aí que entra a flag modificadora essencial: -a (de all / todos).

O docker ps -a mostra absolutamente tudo: containers ativos, pausados e, o mais importante, os containers parados ou que falharam.

┌────────────────────────────────────────────────────────┐
│ O que os comandos enxergam no seu Docker Engine        │
│                                                        │
│  🟢 Container API (Rodando)    ➔  docker ps / ps -a    │
│  🔴 Container Banco (Parado)  ➔  APENAS docker ps -a   │
│  💀 Container Script (Falhou)  ➔  APENAS docker ps -a  │
└────────────────────────────────────────────────────────┘

Como debugar olhando a coluna STATUS?

Ao rodar o docker ps -a, preste atenção máxima na coluna STATUS:

  • Exited (0) 2 hours ago: Significa que o container terminou sua tarefa com sucesso e fechou (comum em scripts de carga de dados ou migrações).
  • Exited (1) 5 minutes ago ou qualquer número diferente de zero: Atenção! O container capotou devido a um erro. É o sinal verde para você rodar um docker logs [nome_do_container] e ler a linha exata onde a sua aplicação quebrou.

Guia Prático de Comandos no Terminal

🟢
Apenas Ativos

docker ps

Lista os processos saudáveis e ativos na memória da máquina:

docker ps
🔴
Histórico Completo

docker ps -a

Exibe todos os containers (inclusive os que morreram com erro), permitindo rastrear falhas de infraestrutura:

docker ps -a
📦
Gerenciamento de Imagens

Como listar suas imagens baixadas

Um erro comum de quem está começando é tentar misturar os comandos e digitar docker images ps. Esse comando não existe e retornará erro. Para listar as imagens salvas no seu disco, os comandos corretos são:

docker images
# Ou a sintaxe moderna e recomendada:
docker image ls

O Pulo do Gato: Formatando a saída com --format

Se você tiver dezenas de containers na máquina, a tabela gerada pelo docker ps vai quebrar linhas e virar uma bagunça ilegível no seu monitor.

Uma dica avançada de DevOps é customizar a saída usando a flag --format para exibir apenas o que te interessa (como o nome, a imagem e o status), mantendo o terminal limpo:

Filtrando colunas do Docker PS
$ docker ps -a –format “table {{.Names}}\t{{.Image}}\t{{.Status}}”

Este comando remove o excesso de IDs longos e exibe uma tabela minimalista perfeita para bater o olho e diagnosticar a saúde da sua stack.

💡 Resumo para o seu dia de trabalho:

  • Quer ver o que está consumindo recursos ativos agora? ➔ docker ps
  • A aplicação caiu misteriosamente e sumiu? ➔ docker ps -a
  • Quer saber o tamanho das imagens baixadas para fazer uma limpeza? ➔ docker image ls

Dominar esses comandos de navegação transforma o terminal em uma ferramenta transparente e te dá o controle total sobre o ciclo de vida dos seus containers.

No próximo artigo da nossa trilha de Docker, vamos aprender como extrair logs históricos e como acompanhar o comportamento do tráfego interno em tempo real utilizando o comando docker logs -f.

Still stuck? How can we help? Get Help