Не можете да използвате localhost вътре в контейнера, това е самият контейнер. Следователно винаги ще получавате грешка за отказа на връзката.
Можете да правите неща по-долу -
-
Добавете IP адреса на вашата хост машина в
application.propertiesфайл на вашето приложение за пролетно зареждане. (Не се препоръчва, тъй като нарушава логиката за преносимост на docker) -
В случай, че искате да използвате
localhost, използвайте--net=hostдокато стартирате контейнера. (Не се препоръчва за производство, тъй като не съществува логически мрежов слой) -
Използвайте
--linksза комуникация на контейнер с DNS име. (оттеглено/наследено) -
Създайте файл за композиране и извикайте вашата БД от приложението за зареждане на пролетта с името на услугата, тъй като те ще бъдат в една и съща мрежа и силно интегрирани един с друг. (препоръчително)
PS - Винаги, когато трябва да интегрирате няколко контейнера заедно, винаги използвайте docker-compose version 3+ . Използвайте docker run|build за разбиране на основите и извършване на сухи/тестови проби.