@suicideDuck22 ola, acredito que a melhor maneira de você resolver esse problema seria usando a flag --scale do docker-composer up.[1]

Por exemplo:

docker-composer up --scale web=5,nginx=1

O docker vai subir cinco instancias da aplicação web e uma instancia do container nginx.

Imagina se precisasse subir 10, 15 ou mais vezes a aplicação web.

A configuração do nginx deveria ser mudada para algo do tipo:

resolver 127.0.0.11;
set $backends web
location / {
    ....
    proxy_pass http://$backends:5000;
}

A grande mudança é na configuração de DNS do nginx que é mudada para usar o servidor de DNS embutido do docker.

[1] https://docker-docs.netlify.app/compose/reference/up/ [2] https://www.ameyalokare.com/docker/2017/09/27/nginx-dynamic-upstreams-docker.html

Perfeita colocação, desconhecia o parâmetro scale do Docker Compose. Realmente acabei criando duas aplicações por conta de ser a única forma que pensei conseguir fazer. Só sabia fazer esta duplicação utilizando os replicaSets no Kubernetes. Muito obrigado por compartilhar!