Насколько я понимаю, контейнеры приложения и контейнер с mysql деплоятся отдельными файлами и принадлежат к отдельным бриджам в докере. Если это так, то все верно - они изорированны друг от друга, но доступны для хост-машины, которая знает о существовании и подключена ко всем доступным сеткам.
Посмотрите здесь:
https://docs.docker.com/network/bridge/
То есть вам нужно или подключить дополнительные бриджи к приложению (как вы и сделали), или завести их в одну сетку (бридж) вместе с базой, или воспользоваться дефолтным бриджом (чего документация нам не рекомендует на продакшене, так как изоляция меньше).