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