sql >> Databasteknik >  >> NoSQL >> MongoDB

SpringBoot i Docker ansluter inte till Mongo i Docker

EDIT:

Jag har aldrig gjort spring-boot-utveckling, men felet som du säger visas kan mycket väl inte vara relaterat till mongo-problemet. Men här är en förklaring till varför din mongo-anslutning misslyckas:

docker-compose skapar ett virtuellt nätverk om ett sådant inte har specificerats i filen (som i ditt fall).

Alla dina applikationer körs inuti detta nätverk, helt isolerade från varandra. Som sådan, localhost i din fjäderstövelbehållare hänvisar faktiskt till sig själv. Det betyder att din spring-boot-applikation förväntar sig mongo instans som körs inuti sin behållare (vilket inte är det, den är i en annan behållare).

Detta skulle ha varit bra när både databasen och programmet kördes på din bärbara dators nätverk. Men som sagt, de körs nu i docker-compose nätverk, helt isolerat.

Men docker-compose är riktigt smart! Den skapar en DNS för var och en av dina behållare som använder tjänstens namn (i ditt fall mongo och spring ) som anges i din docker-compose fil för att möjliggöra enkel åtkomst till behållarna inuti nätverket.

Så du bör kunna ändra spring.data.mongodb.uri=mongodb://localhost:27017/db till spring.data.mongodb.uri=mongodb://mongo:27017/db och det borde göra det möjligt för den att ansluta.



  1. 4 sätt att ta bort ett dokument i MongoDB

  2. Hur använder man $regex i mongodb?

  3. Mongodb Mongoimport för stor:Fel vid analysfel

  4. Uppdatera kapslade arrayobjekt baserat på en egenskap i MongoDB