Не нужно ничего запихивать в один docker-compose.yml, все должно работать и так.
Docker-compose это всего лишь обертка над стандартным docker api, так что это равнозначно тому, что вы запустите контейнеры просто через docker run.
Почему, конкретно у вас не работает, точно сказать не могу.
Для начала посмотрите docker network ls: не создает ли compose сеть с префиксами/суффиксами.
Попробуйте создать сеть извне, а в обоих файла прописать external.
Ну и еще, возможно, это зависит от ОС, на которой вы все это делаете.(на маке, к примеру все работает)