As part of a big project, I need add to this project docker, with mongo and a kind of seeder for this mongo, I was following this post How do I seed a mongo database using docker-compose? but everytime when I try to launch I always get the same error Failed: error connecting to DB server: no reachable servers I put all the files for this situation here https://github.com/aasanchez/mongodb-seeder ONLY the referent to this bug... someone have any idea about how to connect, I think my problem is in the connection URL but I don't know how to fix it
Asked
Active
Viewed 149 times
0
1 Answers
1
First problem, you url in your CMD is wrong, do like
CMD mongoimport --host mongodb -p 27017 --db reach-engine --collection users --type json --file ./data.json --jsonArray
Second, when launched by docker-compose, the dependency implied by links
(which is deprecated) only ensures start up order, not your MongoDB's readiness. So you need to wait a few seconds before mongoimport
.
All in all
CMD sleep 10 && mongoimport --host mongodb -p 27017 --db reach-engine --collection users --type json --file ./data.json --jsonArray
Note sleep 10
is only a simple hack, consider use wait-for-it.sh for complexe dependency.

Siyu
- 11,187
- 4
- 43
- 55