Listar contêineres em execução com docker compose ps
Nesta etapa, você aprenderá como listar contêineres em execução usando docker compose ps. Antes de podermos usar docker compose, precisamos instalá-lo.
Primeiro, vamos instalar o Docker Compose. Vamos baixar a versão estável mais recente.
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Este comando baixa o binário do Docker Compose para a arquitetura do seu sistema e o salva em /usr/local/bin/docker-compose.
Em seguida, precisamos aplicar permissões de execução ao binário.
sudo chmod +x /usr/local/bin/docker-compose
Agora, vamos verificar a instalação verificando a versão.
docker-compose --version
Você deve ver a versão instalada do Docker Compose na saída.
Para demonstrar docker compose ps, precisamos de um arquivo docker-compose.yml e alguns serviços para executar. Vamos criar um arquivo docker-compose.yml simples no seu diretório ~/project.
nano ~/project/docker-compose.yml
Adicione o seguinte conteúdo ao arquivo:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
app:
image: alpine:latest
command: sleep infinity
Este arquivo docker-compose.yml define dois serviços: web usando a imagem nginx e app usando a imagem alpine. O serviço web mapeia a porta 80 no host para a porta 80 no contêiner. O serviço app executa o comando sleep infinity para manter o contêiner em execução.
Salve o arquivo e saia do editor (Ctrl+X, Y, Enter).
Agora, vamos baixar as imagens necessárias.
docker pull nginx:latest
docker pull alpine:latest
Esses comandos baixam as imagens nginx:latest e alpine:latest do Docker Hub.
Em seguida, inicie os serviços definidos no arquivo docker-compose.yml. Certifique-se de estar no diretório ~/project.
cd ~/project
docker-compose up -d
O comando docker-compose up -d constrói, cria, inicia e anexa aos contêineres para um serviço. A flag -d executa os contêineres em modo detached, o que significa que eles são executados em segundo plano.
Agora que os contêineres estão em execução, podemos usar docker compose ps para listá-los.
docker-compose ps
Este comando lista os contêineres em execução definidos no seu arquivo docker-compose.yml. Você deve ver uma saída semelhante a esta, mostrando os nomes dos contêineres, comandos, status e portas.
NAME COMMAND SERVICE STATUS PORTS
project-app-1 "sleep infinity" app running
project-web-1 "/docker-entrypoint.sh nginx -g 'daemon off;'" web running 0.0.0.0:80->80/tcp
A saída mostra que os contêineres project-app-1 e project-web-1 estão em execução. O NAME é tipicamente o nome do projeto (o nome do diretório) seguido pelo nome do serviço e um número.