Como listar contentores Docker

DockerBeginner
Pratique Agora

Introdução

O Docker tornou-se uma ferramenta popular para a contenção de aplicações, facilitando o desenvolvimento, implantação e gestão de software. Neste tutorial, exploraremos como listar contentores Docker, uma tarefa fundamental para gerir o seu ambiente Docker.

Compreendendo Contentores Docker

Docker é uma plataforma de código aberto popular que permite aos desenvolvedores construir, implantar e executar aplicações num ambiente consistente e isolado, chamados contentores. Os contentores são unidades leves, portáteis e autocontidos que empacotam o código da aplicação, as dependências e o tempo de execução num único pacote.

O que são Contentores Docker?

Contentores Docker são uma forma de empacotar uma aplicação e todas as suas dependências numa única unidade padronizada que pode ser implantada e executada de forma consistente em diferentes ambientes informáticos. Cada contendor inclui a aplicação, todas as suas dependências e um sistema operativo leve, garantindo que a aplicação sempre execute da mesma forma, independentemente da infraestrutura subjacente.

Benefícios dos Contentores Docker

  • Consistência: Os contentores garantem que as aplicações executam da mesma forma, independentemente da infraestrutura subjacente, eliminando o problema "funciona na minha máquina".
  • Escalabilidade: Os contentores podem ser facilmente escalados para cima ou para baixo para atender às necessidades em mudança, tornando mais fácil gerir e implantar aplicações.
  • Eficiência: Os contentores são mais leves e eficientes do que as máquinas virtuais tradicionais, pois partilham o kernel do sistema operativo do host, reduzindo o uso de recursos e os tempos de inicialização.
  • Portabilidade: Os contentores podem ser facilmente movidos e implantados em diferentes ambientes, desde o portátil de um desenvolvedor até a um servidor de produção, sem a necessidade de alterações de configuração complexas.

Arquitetura Docker

Docker utiliza uma arquitetura cliente-servidor, onde o cliente Docker comunica com o daemon Docker, que é responsável por construir, executar e gerir contentores Docker. O daemon Docker roda na máquina hospedeira, enquanto o cliente Docker pode rodar na mesma máquina ou numa máquina remota.

graph TD
    A[Cliente Docker] -- Comunica com --> B[Daemon Docker]
    B -- Gerencia --> C[Contentores Docker]
    B -- Gerencia --> D[Imagens Docker]
    B -- Gerencia --> E[Volumes Docker]
    B -- Gerencia --> F[Redes Docker]

Imagens e Contentores Docker

Imagens Docker são os projetos para criar contentores Docker. Elas contêm o código da aplicação, as dependências e a configuração necessária para executar a aplicação. Quando se executa uma imagem Docker, cria-se um contendor Docker, que é a instância em execução da imagem.

graph LR
    A[Imagem Docker] -- Cria --> B[Contendor Docker]
    B -- Executa --> C[Aplicação]

Compreendendo os conceitos básicos de contentores Docker, pode agora explorar como listar e gerir os seus contentores Docker.

Listando Contentores Docker

Listar contentores Docker é uma tarefa fundamental na gestão e monitorização do seu ambiente Docker. O comando docker ps é a forma principal de listar e visualizar informações sobre os seus contentores em execução.

Listando Contentores em Execução

Para listar todos os contentores Docker em execução atualmente, utilize o seguinte comando:

docker ps

Isto irá apresentar uma tabela com as seguintes informações:

  • ID do Contenedor
  • Imagem
  • Comando
  • Criado
  • Estado
  • Portas
  • Nomes

Também pode adicionar a opção -a ou --all para listar todos os contentores, incluindo os que não estão em execução:

docker ps -a

Personalizando a Lista de Contentores

Pode personalizar as informações apresentadas na lista de contentores utilizando a opção --format. Por exemplo, para apresentar o ID do contendor, a imagem e o estado, pode utilizar o seguinte comando:

docker ps --format "{{.ID}} {{.Image}} {{.Status}}"

Isto irá produzir uma tabela com as colunas especificadas:

ID DO CONTENEDOR IMAGEM ESTADO
1234567890ab ubuntu:latest Em execução há 5 minutos
0987654321cd nginx:latest Terminado (0) há 10 minutos

Também pode filtrar a lista de contentores utilizando várias opções, como --filter ou -f. Por exemplo, para listar apenas os contentores com um nome específico:

docker ps -a --filter "name=my-container"

Listando Contentores Parados

Para listar apenas os contentores parados, pode utilizar o seguinte comando:

docker ps --filter "status=exited"

Isto irá apresentar uma lista de todos os contentores que terminaram ou pararam.

Compreendendo como listar contentores Docker, pode gerir e monitorizar eficazmente o seu ambiente Docker. Na próxima secção, exploraremos algumas opções avançadas de listagem para o ajudar a obter mais informações sobre os seus contentores Docker.

Explorando Opções Avançadas de Listagem

Embora o comando básico docker ps forneça uma riqueza de informações sobre os seus contentores em execução, o Docker oferece várias opções avançadas para o ajudar a aprofundar e obter mais perspetivas sobre o seu ambiente Docker.

Listando Contentores por Estado

Além de listar contentores em execução, também pode listar contentores por estado. Por exemplo, para listar todos os contentores que atualmente estão parados ou interrompidos, pode utilizar o seguinte comando:

docker ps -a --filter "status=exited"

Também pode listar contentores por outros estados, como "created", "restarting" ou "paused".

Listando Contentores por Rótulo

O Docker permite atribuir rótulos aos seus contentores, o que pode ser útil para organizar e filtrar os seus contentores. Para listar contentores por um rótulo específico, pode utilizar a opção --filter:

docker ps --filter "label=my-label=value"

Isto irá listar todos os contentores que possuem o rótulo "my-label" com o valor "value".

Listando Contentores por Utilização de Recursos

Para obter informações sobre a utilização de recursos dos seus contentores, pode utilizar o comando docker stats. Este comando irá apresentar estatísticas em tempo real sobre a utilização da CPU, memória, rede e E/S de bloco para cada contendor em execução.

docker stats

Também pode filtrar a saída de docker stats utilizando as mesmas técnicas que docker ps, como por nome ou rótulo do contendor.

Listando Contentores em Formato JSON

Se precisar processar programáticamente a saída de docker ps, pode utilizar a opção --format para produzir as informações do contendor em formato JSON. Isto pode ser útil para integrar a gestão de contentores Docker nos seus próprios scripts ou aplicações.

docker ps --format '{{json .}}'

Explorando estas opções avançadas de listagem, pode obter uma compreensão mais profunda dos seus contentores Docker e gerir eficazmente o seu ambiente Docker.

Resumo

No final deste tutorial, terá uma compreensão sólida de como listar contentores Docker, incluindo a exploração de opções avançadas de listagem. Este conhecimento irá capacitar-o a gerir eficazmente as suas aplicações e infraestruturas baseadas em Docker.