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
docker ps [OPTIONS]
Onde:
-
OPTIONS
: parâmetros adicionais pra filtrar e formatar o output.
Exemplo de uso básico
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:
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:
docker ps -f "status=exited"
2. Filtragem por nome
Para exibir containers com um nome específico ou parte dele:
docker ps -f "name=my_container"
3. Filtragem por imagem
Para exibir containers criados a partir de uma imagem específica:
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
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.
docker ps -q
Exemplo 2: mostrando containers iniciados nas últimas 24 horas
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.
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.
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.
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.
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.
GO TO FULL VERSION