sql >> Database teknologi >  >> NoSQL >> MongoDB

SpringBoot i Docker forbinder ikke til Mongo i Docker

EDIT:

Jeg har aldrig lavet spring-boot-udvikling, men den fejl, du siger, vises, kan meget vel være uden forbindelse med mongo-problemet. Men her er en forklaring på hvorfor din mongo-forbindelse fejler:

docker-compose opretter et virtuelt netværk, hvis et ikke er angivet i filen (som i dit tilfælde).

Alle dine applikationer kører inde i dette netværk, fuldstændig isoleret fra hinanden. Som sådan localhost i din spring-boot container refererer faktisk til sig selv. Det betyder, at din spring-boot-applikation forventer mongo forekomst til at køre inde i sin container (hvilket ikke er, den er i en anden container).

Dette ville have været fint, når både databasen og programmet kørte på din bærbare computers netværk. Men som nævnt kører de nu i docker-compose netværk, fuldstændig isoleret.

Dog docker-compose er virkelig smart! Det opretter en DNS for hver af dine containere, som bruger servicenavnet (i dit tilfælde mongo og spring ) angivet i din docker-compose fil for at give nem adgang til beholderne inde i netværket.

Så du burde være i stand til at ændre spring.data.mongodb.uri=mongodb://localhost:27017/db til spring.data.mongodb.uri=mongodb://mongo:27017/db og det skulle give den mulighed for at forbinde.



  1. DoctrineMongoDBBundle får en fatal fejl i Symfony2

  2. Mongo DB finder alle poster med højeste værdi afhængigt af et nøglefelt

  3. Hvordan kan jeg håndtere array skæringspunkter i find({})?

  4. Fejl ved aktivering af datakryptering ved hjælp af lokal nøgle MONGODB