Listar todas as stacks
Nesta etapa, você aprenderá como listar todas as pilhas (stacks) do Docker em execução no seu sistema. Uma pilha (stack) do Docker é uma coleção de serviços que são implantados juntos. Antes de podermos listar as pilhas, precisamos instalar o Docker Compose, que é usado para definir e executar aplicações Docker multi-container.
Primeiro, vamos instalar o Docker Compose. Vamos baixar o binário do Docker Compose e torná-lo executável.
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
sudo chmod +x /usr/local/bin/docker-compose
O primeiro comando baixa o binário do Docker Compose do repositório oficial do GitHub. $(uname -s) e $(uname -m) são usados para obter o sistema operacional e a arquitetura da sua máquina, garantindo que você baixe o binário correto. O segundo comando torna o arquivo baixado executável.
Agora que o Docker Compose está instalado, vamos verificar a instalação verificando a versão.
docker-compose --version
Você deve ver a versão do Docker Compose instalada na saída.
Para demonstrar a listagem de pilhas, precisamos implantar uma pilha simples. Criaremos um arquivo docker-compose.yml que define um serviço web simples.
nano ~/project/docker-compose.yml
Cole o seguinte conteúdo no arquivo docker-compose.yml:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Este arquivo docker-compose.yml define um único serviço chamado web que usa a imagem nginx:latest e mapeia a porta 80 no host para a porta 80 no container.
Agora, vamos implantar esta pilha usando o comando docker stack deploy. Vamos nomear nossa pilha mywebstack.
docker stack deploy -c ~/project/docker-compose.yml mywebstack
A flag -c especifica o arquivo Compose a ser usado, e mywebstack é o nome que estamos dando à nossa pilha. Você verá uma saída indicando que os serviços estão sendo criados e implantados.
Após implantar a pilha, você pode listar todas as pilhas em execução usando o comando docker stack ls.
docker stack ls
Este comando exibirá uma lista de todas as pilhas implantadas, incluindo o nome da pilha, o número de serviços e o número desejado e atual de réplicas para cada serviço. Você deve ver mywebstack listado na saída.