作为一个大项目的一部分,我需要添加到该项目docker中,并使用mongo和该mongo的某种播种器,我一直关注着这篇文章How do I seed a mongo database using docker-compose?,但是每次我尝试启动时,我总是得到相同的错误失败:连接到数据库服务器时发生错误:没有可访问的服务器我为此情况将所有文件放在这里https://github.com/aasanchez/mongodb-seeder,仅指此错误...有人对如何处理有任何想法连接,我想我的问题出在连接URL中,但我不知道如何解决
答案 0 :(得分:1)
第一个问题,您在CMD中输入的网址错误,就像
CMD mongoimport --host mongodb -p 27017 --db reach-engine --collection users --type json --file ./data.json --jsonArray
第二,当由docker-compose启动时,links
(已弃用)所隐含的依赖关系只能确保启动顺序,而不能确保MongoDB的就绪状态。因此,您需要等待几秒钟,然后再mongoimport
。
全部
CMD sleep 10 && mongoimport --host mongodb -p 27017 --db reach-engine --collection users --type json --file ./data.json --jsonArray
请注意,sleep 10
只是一个简单的技巧,请考虑将wait-for-it.sh用于复杂性依赖项。