Это, вероятно, вызвано общеизвестным фактом, что тестовый контейнер запускается до того, как контейнер БД полностью функционирует. Несмотря на то, что вы установили в docker, compose зависимости / ссылка, docker ожидает только того, что зависимый контейнер будет активен. Если инициализация БД занимает, скажем, 30 секунд, перед этим будет запущен второй контейнер, и вы увидите эту проблему.
Решение состоит в том, чтобы поместить во второй контейнер некоторый bash-скрипт, который будет пинговать порт БД, чтобы заставить его ждать, пока БД не будет готова. Проверьте SO, есть несколько похожих вопросов с некоторыми хорошими решениями, как заставить второй контейнер ждать зависимую БД.