Este blog ilustrará como expor e implantar vários aplicativos de contêineres na mesma porta usando o balanceamento de carga.
Como expor vários aplicativos de contêiner na mesma porta com balanceamento de carga?
O balanceamento de carga ou proxy reverso é uma técnica para distribuir o tráfego de diferentes contêineres em um servidor. O balanceamento de carga pode usar algoritmos de roteamento diferentes, como o algoritmo Round Robin, para alocar spam de tempo para executar o primeiro contêiner, depois o segundo contêiner e voltar novamente ao primeiro contêiner, e assim por diante. Isso pode aumentar a disponibilidade, capacidade e confiabilidade do aplicativo.
Para a ilustração, utilize o procedimento mencionado.
Etapa 1: Crie Dockerfile
Primeiro, crie um DockerFile para recipiente do aplicativo. Por exemplo, definimos as instruções para contêiner o “principal.ir" aplicativo:
De Golang: 1.8Aqui, temos dois diferentes “principal.ir”Programas em dois diretórios diferentes. Em nosso cenário, o primeiro programa usará o Dockerfile para configurar o serviço:
O segundo programa também tem o mesmo Dockerfile em seu diretório. Usando este arquivo, construímos a nova imagem do Docker “Go1-imagem”Isso será usado para configurar o segundo serviço no arquivo de composição. Para criar ou construir a imagem, você pode examinar nosso artigo associado:
Etapa 2: Crie arquivo de composição
Em seguida, crie um arquivo de composição chamado “Docker-Compose.yml”Arquivo que contém as seguintes instruções:
Etapa 3: Crie “nginx.arquivo conf ”
Depois disso, crie o “nginx.conf”Arquive e configure os serviços a montante, a porta de escuta do balanceador de carga e defina o proxy“http: // all/”Para gerenciar os serviços upstream:
usuário nginx;Etapa 4: disparar os recipientes
Executar o “Docker-compor”Comando para iniciar os serviços em contêineres separados. Aqui "-escala”A opção é usada para gerar as duas réplicas do primeiro ou“rede" serviço:
Docker -Compose Up -Cale web = 2
Para a verificação, vá para a porta exposta do “nginx”Contêiner de serviço e verifique se está aceitando o fluxo de serviços especificados ou não:
A partir da saída acima, pode-se observar que executamos com sucesso vários contêineres ou serviços na mesma porta.
Conclusão
Para executar ou expor os múltiplos aplicativos de contêiner na mesma porta usando um balanceador de carga/proxy reverso, primeiro, crie um “nginx.conf”Arquivo para configurar as configurações de balanceador de carga, como serviços de upstreaming, portas de escuta e proxy para a montante do serviço. Em seguida, configure o serviço de balanceamento de carga no arquivo de composição. Este blog demonstrou como expor e executar vários contêineres ou serviços na mesma porta.