Разве docker-compose не создаёт сам внутреннюю сеть по умолчанию?
"By default Compose sets up a single network for your app. Each container for a service joins the default network and is both reachable by other containers on that network, and discoverable by them at a hostname identical to the container name." (из документации: https://docs.docker.com/compose/networking/)
Andrey Dugin, с чистотой кода согласен; не старался писать лаконично с красивым названием переменных. Но вот на счёт алгоритма не соглашусь, поправьте, если не так. Линейная скорость работы, как ни крути.