Guia de Casos Práticos Load Balance com HAProxy Docker Load Balance com HAProxy
Exemplo divido em 4 etapas desde a configuração da Sub Rede, Criação dos Volumes do Containers, atualização dos arquivos estáticos de uma página html e configuração do Load Balance para acesso aos containers.
Passo 01 - Criando uma Rede subnetwork e isolando Containers.
Copy $ docker network create --subnet 10.0.0.0/24 lb-web
Passo 02 - Criando os Volumes e Configurando os Containers Web.
Copy $ docker volume create vol-web1
$ docker volume create vol-web2
$ docker volume create vol-balance
$ docker volume ls
Página Estática 01 - Porta 9080
Copy $ docker run -d --name web1 --net lb-web -p 9080:80 -v /etc/localtime:/etc/localtime:ro -v vol-web1:/usr/local/apache2/htdocs httpd:2.4
Página Estática 02 - Porta 9081
Copy $ docker run -d --name web2 --net lb-web -p 9081:80 -v /etc/localtime:/etc/localtime:ro -v vol-web2:/usr/local/apache2/htdocs httpd:2.4
Passo 03 - Copiando Arquivos Locais para o Volume
Copy cd c:/Users/paulo/site/web/FRONT_web1
docker cp . web1:/usr/local/apache2/htdocs/
curl http://192.168.99.100:9080
Copy cd c:/Users/paulo/site/web/FRONT_web2
docker cp . web2:/usr/local/apache2/htdocs/
curl http://192.168.99.100:9081
Passo 04 - Configurando o Load Balance com HAProxy
Copy docker run -d --name lb-web --net lb-web -v vol-balance:/usr/local/etc/haproxy -p 8080:80 haproxy:1.7
cd c:/Users/paulo/site/web/ha
docker cp haproxy.cfg lb-web:/usr/local/etc/haproxy/
docker start lb-web
curl http://192.168.99.100:8080