CodeGym /Cursos /Docker SELF /Verificando o estado dos containers

Verificando o estado dos containers

Docker SELF
Nível 11 , Lição 2
Disponível

3.1 Fundamentos do comando docker ps

O comando docker ps é um dos mais úteis no arsenal do Docker. Ele mostra uma lista dos containers em execução e fornece informações sobre eles. Nessa aula, vamos dar uma olhada em como usar o docker ps pra verificar o estado dos seus containers e quais opções estão disponíveis pra um output mais detalhado.

Por padrão, o comando docker ps mostra apenas os containers que estão rodando no momento.

Sintaxe

Terminal

docker ps [OPTIONS]

Onde:

  • OPTIONS: parâmetros adicionais pra filtrar e formatar o output.

Exemplo de uso básico

Terminal


docker ps 

Essa chamada básica do comando docker ps vai mostrar a lista de todos os containers em execução. O output vai incluir os seguintes campos:

  • CONTAINER ID: identificador único do container.
  • IMAGE: imagem a partir da qual o container foi criado.
  • COMMAND: comando sendo executado no container.
  • CREATED: tempo desde que o container foi criado.
  • STATUS: estado atual do container (por exemplo, Up 5 minutes).
  • PORTS: portas redirecionadas.
  • NAMES: nome do container.

Lista de todos os containers

Pra mostrar todos os containers, incluindo os que estão parados, use a opção -a:

Terminal


docker ps -a 

Esse comando vai listar todos os containers que já foram executados, mostrando o estado atual deles (rodando, parado, etc.).

3.2 Filtragem da saída

O Docker oferece a possibilidade de filtrar a saída do comando docker ps para exibir apenas os containers que atendem a critérios específicos.

1. Filtragem por status

Por exemplo, para exibir apenas os containers que estão parados:

Terminal


docker ps -f "status=exited" 

2. Filtragem por nome

Para exibir containers com um nome específico ou parte dele:

Terminal


docker ps -f "name=my_container"

3. Filtragem por imagem

Para exibir containers criados a partir de uma imagem específica:

Terminal

docker ps -f "ancestor=nginx"

3.3 Formatando a saída

Você pode personalizar a saída do comando docker ps pra deixá-la mais legível ou incluir só os campos que você quer. Pra isso, é usado o parâmetro --format.

Exemplo de formatação

Terminal


docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"

Esse exemplo exibe uma tabela com o ID do container, o nome dele e o status.

Colunas disponíveis na tabela

  • {{.ID}}: ID do container.
  • {{.Image}}: imagem do container.
  • {{.Command}}: comando rodando no container.
  • {{.CreatedAt}}: data de criação do container.
  • {{.RunningFor}}: o tempo que o container já está rodando.
  • {{.Status}}: estado atual do container.
  • {{.Ports}}: portas redirecionadas.
  • {{.Names}}: nome do container.

Exemplos de uso

Exemplo 1: mostrando só os IDs dos containers

Esse exemplo vai exibir apenas os IDs dos containers que estão rodando. Útil pra usar em scripts.

Terminal


docker ps -q

Exemplo 2: mostrando containers iniciados nas últimas 24 horas

Terminal


docker ps --filter "since=24h" 

Exemplo 3: mostrando containers com um status específico e formatando a saída

Esse exemplo exibe uma tabela com os nomes dos containers, seus status e as portas redirecionadas pra todos os containers que estão rodando.

Terminal


docker ps -f "status=running" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" 

3.4 Cenários práticos

1. Monitorando containers em execução

Quando você tem vários containers rodando, o comando docker ps permite que você cheque rapidamente o estado atual deles e tenha certeza de que tudo está funcionando direitinho.

Terminal


docker ps 

2. Encontrando e removendo containers parados

Depois que os containers finalizam suas execuções, eles ficam no sistema até que você os remova. Você pode usar docker ps -a pra encontrar todos os containers parados e depois deletá-los.

Terminal

docker ps -a -f "status=exited" 
docker rm $(docker ps -a -f "status=exited" -q)
    

3. Automatizando tarefas

Usar o comando docker ps em scripts te ajuda a automatizar várias tarefas de administração de containers. Por exemplo, você pode criar relatórios sobre o estado dos containers ou reiniciar automaticamente containers que estejam parados.

Terminal

if [ $(docker ps -q -f "name=my_container") ]; then
  echo "Container está rodando"
else
  docker start my_container
fi
    

Importante! Esse “código” foi escrito no terminal Linux. Talvez você precise dar uma olhada nisso.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION