Como usar o comando docker container ls para listar contêineres

DockerBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como usar efetivamente o comando docker container ls (também conhecido como docker ps) para listar e gerenciar seus contêineres Docker. Você começará listando apenas os contêineres em execução no momento, e depois expandirá sua visualização para incluir todos os contêineres, inclusive aqueles que foram parados.

Além disso, você explorará como filtrar a lista de contêineres com base em vários critérios, como status e nome, permitindo que você encontre rapidamente contêineres específicos. Por fim, você aprenderá como exibir informações adicionais, como o tamanho do contêiner, e formatar a saída para atender às suas necessidades, proporcionando uma compreensão abrangente do seu cenário de contêineres.

Listar contêineres em execução

Nesta etapa, você aprenderá como listar os contêineres Docker em execução. O comando docker ps é usado para exibir informações sobre os contêineres em execução.

Primeiro, vamos executar um contêiner simples que permanecerá em execução. Usaremos a imagem ubuntu e executaremos um comando que mantém o contêiner ativo.

docker pull ubuntu
docker run -d ubuntu sleep infinity

O comando docker pull ubuntu baixa a imagem ubuntu do Docker Hub. O comando docker run -d ubuntu sleep infinity executa um novo contêiner com base na imagem ubuntu.

  • -d executa o contêiner em modo detached (desacoplado), o que significa que ele é executado em segundo plano.
  • ubuntu é o nome da imagem.
  • sleep infinity é o comando executado dentro do contêiner, que o mantém em execução indefinidamente.

Agora, vamos listar os contêineres em execução usando o comando docker ps.

docker ps

Este comando mostrará uma lista de todos os contêineres atualmente em execução. Você deve ver o contêiner ubuntu que acabamos de iniciar. A saída inclui informações como o ID do contêiner, imagem, comando, tempo de criação, status, portas e nomes.

Mostrar todos os contêineres, incluindo os parados

Na etapa anterior, você aprendeu como listar os contêineres em execução usando docker ps. No entanto, docker ps mostra apenas os contêineres que estão atualmente em execução. Para ver todos os contêineres, incluindo aqueles que foram parados, você precisa usar a flag -a.

Primeiro, vamos parar o contêiner ubuntu que iniciamos na etapa anterior. Você precisará do ID ou nome do contêiner. Você pode obter isso na saída de docker ps.

docker stop $(docker ps -q --filter ancestor=ubuntu)

O comando docker stop para um contêiner em execução.

  • $(docker ps -q --filter ancestor=ubuntu) é uma substituição de comando que obtém o ID do contêiner em execução com base na imagem ubuntu. A flag -q gera apenas o ID do contêiner, e --filter ancestor=ubuntu filtra pelo nome da imagem.

Agora, vamos listar todos os contêineres, incluindo o parado, usando docker ps -a.

docker ps -a

Este comando exibirá uma lista de todos os contêineres que foram criados, independentemente de seu estado atual (em execução, parado, finalizado, etc.). Você deve ver o contêiner ubuntu listado, e seu status deve ser "Exited" (Finalizado).

Filtrar contêineres por status e nome

Nesta etapa, você aprenderá como filtrar a lista de contêineres com base em seu status e nome usando a flag --filter com o comando docker ps. Isso é útil quando você tem muitos contêineres e deseja encontrar contêineres específicos.

Primeiro, vamos iniciar outro contêiner, mas desta vez daremos a ele um nome específico.

docker run -d --name my-nginx nginx

O comando docker run -d --name my-nginx nginx executa um novo contêiner com base na imagem nginx em modo detached (desacoplado) e atribui a ele o nome my-nginx.

  • docker pull nginx não é explicitamente necessário aqui, pois docker run puxará automaticamente a imagem se ela não estiver disponível localmente.

Agora, vamos listar apenas os contêineres em execução usando um filtro para o status.

docker ps --filter status=running

Este comando mostrará apenas os contêineres que estão atualmente no estado "running" (em execução). Você deve ver o contêiner my-nginx listado.

Em seguida, vamos filtrar os contêineres por nome.

docker ps -a --filter name=my-nginx

Este comando listará todos os contêineres (incluindo os parados, graças a -a) que têm o nome my-nginx. Você deve ver o contêiner my-nginx listado com seu status.

Você também pode combinar filtros. Por exemplo, para listar contêineres em execução com um nome específico:

docker ps --filter status=running --filter name=my-nginx

Isso mostrará o contêiner my-nginx somente se ele estiver atualmente em execução.

Exibir tamanho do contêiner e formatar a saída

Nesta etapa, você aprenderá como exibir o tamanho dos contêineres e formatar a saída do comando docker ps. Saber o tamanho de seus contêineres pode ser útil para gerenciar o espaço em disco.

Por padrão, docker ps não mostra o tamanho do contêiner. Para incluir as informações de tamanho, você pode usar a flag --size.

docker ps -a --size

Este comando listará todos os contêineres (em execução e parados) e incluirá duas colunas relacionadas ao tamanho: SIZE (o tamanho da camada gravável do contêiner) e VIRTUAL SIZE (o tamanho total do contêiner, incluindo as camadas da imagem).

Às vezes, o formato de saída padrão de docker ps pode não ser exatamente o que você precisa. Você pode formatar a saída usando a flag --format. Esta flag aceita uma string de template Go.

Por exemplo, para exibir apenas o ID do contêiner, o nome da imagem e o status, você pode usar o seguinte comando:

docker ps -a --format "{{.ID}}\t{{.Image}}\t{{.Status}}"

Nesta string de formato:

  • {{.ID}} refere-se ao ID do contêiner.
  • {{.Image}} refere-se ao nome da imagem.
  • {{.Status}} refere-se ao status do contêiner.
  • \t é usado para um caractere de tabulação para separar as colunas.

Você também pode incluir as informações de tamanho na saída formatada.

docker ps -a --format "{{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Size}}"

Este comando exibirá o ID do contêiner, a imagem, o status e o tamanho. O campo {{.Size}} inclui tanto o tamanho da camada gravável quanto o tamanho virtual.

Experimente com diferentes campos na string de formato para personalizar a saída de acordo com suas necessidades. Alguns outros campos úteis incluem {{.Names}}, {{.CreatedAt}} e {{.Ports}}.

Resumo

Neste laboratório, você aprendeu como usar o comando docker ps para listar contêineres Docker. Você começou listando apenas os contêineres em execução usando docker ps, após executar um contêiner ubuntu simples em modo detached (desacoplado). Em seguida, você aprendeu como exibir todos os contêineres, incluindo os parados, adicionando a flag -a ao comando docker ps, após parar o contêiner criado anteriormente.