Este blog demonstrará como implementar o escala e o balanceamento de carga no Docker Compose.
Como ampliar os serviços no Docker Compose?
A escala no docker significa fazer réplicas de serviços de composição ou contêineres. Essas réplicas são gerenciadas no host. Para implementar a escala no Docker Compose, siga as instruções fornecidas.
Etapa 1: Gere Dockerfile
Gerar um DockerFile que contê -lo o Golang “Main1.ir" programa. Para esse fim, cole o código fornecido no arquivo:
De Golang: 1.8
Workdir/go/src/app
Copie Main1.ir .
Run Go Build -O WebServer .
Expor 8080: 8080
PONTO DE ENTRADA ["./servidor web"]
Etapa 2: gerar arquivo de composição
Em seguida, crie outro arquivo chamado “Docker-Compose.yml”Arquive e cole as instruções abaixo fornecidas:
Versão: "Alpine"
Serviços:
rede:
construir: .
Portas:
- 8080
Aqui:
Como alternativa, os usuários podem atribuir o “portas”Valor no intervalo como“80-83: 8080”. Isso atribuirá automaticamente as portas expostas dentro do intervalo especificado a cada contêiner ou serviço.
Etapa 3: disparar os recipientes
Em seguida, acenda os recipientes usando o “Docker-compor”Comando. Para replicar o “rede”Serviço, utilize o“-escala”Opção junto com a“=”Valor como mostrado abaixo:
Docker-compor Up-Web em escala = 2
Etapa 4: Lista compor contêineres
Liste os contêineres compostos e verifique se os serviços de escala estão executando ou não:
Docker -Compor PS -A
Você pode ver duas réplicas do “rede”O serviço está sendo executado em“61844" e "61845”Portas de host local, respectivamente:
Para confirmação, navegue até as portas atribuídas do host local e verifique se o serviço está em execução ou não.
Pode -se observar que o “rede”O serviço foi executado com sucesso em portas atribuídas:
Como implementar o balanceamento de carga no Docker Compose?
O balanceador de carga é uma das melhores soluções para gerenciar o tráfego de diferentes contêineres ou clientes no servidor. Aumenta a confiabilidade e a disponibilidade de aplicativos e serviços. Diferentes critérios de roteamento são usados no back -end para gerenciar os aplicativos de vários contêineres, como Round Robin.
Para implementar a técnica de balanceamento de carga nos serviços de compposição, utilize as instruções fornecidas.
Etapa 1: Crie “nginx.arquivo conf ”
Criar um "nginx.conf”Arquive e cole o código abaixo no arquivo. Essas instruções incluem:
usuário nginx;
Eventos
trabalhador_connections 1000;
http
a montante tudo
Web do servidor: 8080;
servidor
Ouça 8080;
Localização /
proxy_pass http: // all/;
Etapa 2: Configurar o serviço Nginx Balancero de carga em “Docker-Compose.arquivo yml ”
Em seguida, configure o balanceador de carga “nginx”Serviço no“Docker-Compose" arquivo. Para esse fim, especificamos as seguintes chaves:
Versão: "Alpine"
Serviços:
rede:
construir: .
nginx:
Imagem: Nginx: mais recente
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf: ro
depende de:
- rede
Portas:
- 8080: 8080
Etapa 3: Executar contêineres compostos
Agora, execute o contêiner de composição junto com o “-escala”Opção para executar as réplicas de serviço da web:
Docker-compor Up-Web em escala = 2
Aqui, essas réplicas de serviços da web são gerenciadas no serviço de balanceador de carga “nginx”:
Navegue pela porta de escuta do “nginx”Serviço e verifique se o saldo da carga gerencia os dois recipientes do serviço da web na mesma porta. Atualize a página para mudar para o segundo contêiner e refresque novamente a página para mudar para o primeiro contêiner:
É tudo sobre o Docker compor o balanceamento de carga e a escala.
Conclusão
Balanceamento e escala de carga são técnicas para aumentar a disponibilidade e confiabilidade do aplicativo. A escala do Docker gera as réplicas de serviços especificados e o balanço do balanceador de carga ou gerencia o tráfego de e para diferentes contêineres no servidor. Para esse fim, usamos “nginx”Como um balanceador de carga. Este blog demonstrou o Docker compor balanceamento e escala de carga.