docker compose scale
O comando docker compose scale
era utilizado para escalar o número de réplicas de um serviço específico definido em um arquivo docker-compose.yml
. Esse comando permitia aumentar ou diminuir a quantidade de contêineres em execução para um serviço, facilitando o gerenciamento de carga e a disponibilidade dos serviços.
Importante: A partir da versão 3.x do Docker Compose, o comando scale
foi substituído pela opção --scale
utilizada em conjunto com o comando docker compose up
. Portanto, docker compose scale
é obsoleto para as versões mais recentes do Docker Compose, e o uso da nova abordagem é recomendado.
Uso Obsoleto (Versões Anteriores ao Docker Compose 3.x)
Sintaxe
Parâmetros
SERVIÇO=NUMERO_DE_CONTÊINERES
: Define o nome do serviço e o número de réplicas que você deseja escalar. Você pode especificar múltiplos serviços, cada um com o número desejado de réplicas.
Exemplo de Uso
Escalar um Único Serviço: Para escalar o serviço
web
para 3 réplicas:Escalar Múltiplos Serviços: Para escalar o serviço
web
para 3 réplicas e o serviçodb
para 2 réplicas:
Abordagem Atual (Versões Mais Recentes do Docker Compose)
Em versões mais recentes do Docker Compose (3.x e superiores), a escalabilidade de serviços é alcançada utilizando a opção --scale
com o comando docker compose up
.
Sintaxe
Exemplo de Uso
Escalar um Serviço Usando o Novo Método: Para escalar o serviço
web
para 3 réplicas com as versões mais recentes do Docker Compose:
Considerações
Persistência de Escala: Quando você escala um serviço usando
docker compose up --scale
, o número de réplicas é mantido até que você altere manualmente ou pare os contêineres.Compatibilidade: Se você estiver utilizando uma versão anterior ao Docker Compose 3.x, você pode continuar utilizando
docker compose scale
, mas a migração para a nova sintaxe é recomendada para manter a compatibilidade futura.Gerenciamento de Recursos: Ao escalar serviços, tenha em mente o impacto no consumo de recursos do sistema, como CPU e memória. Escalar demasiadamente pode levar à saturação de recursos em ambientes limitados.
Balanceamento de Carga: Ao escalar serviços que expõem portas para a rede, o balanceamento de carga entre as réplicas é essencial para garantir distribuição uniforme das solicitações. O Docker Compose não gerencia automaticamente o balanceamento de carga, então essa responsabilidade pode recair sobre um proxy reverso ou um serviço de orquestração.
A nova abordagem usando --scale
com docker compose up
permite uma gestão mais integrada e atualizada da escalabilidade dos serviços, alinhando-se melhor com práticas modernas de desenvolvimento e operação com contêineres.
Last updated