作为Docker的新手,我尝试通过工作目录中的docker-compose.yml构建一个包含一些示例数据的mongoDB Docker容器.
我的mongo / Dockerfile包含以下代码:
FROM mongo:latest
ADD shops.json /home/
RUN mongoimport --db masterdata --collection shops --file /home/shops.json
在最后一行中,示例数据将导入到mongoDB中.
我的docker-compose.yml包含以下代码:
version: '3'
services:
mongo:
build: mongo
ports:
- "27017:27017"
通过上面的配置,我尝试构建MongoDB docker容器并出现错误:
Failed: error connecting to db server: no reachable servers
这个问题看起来与mongoimport Docker Failed: error connecting to the db server: no reachable servers类似,但我真的尝试了mongoimport Docker Failed: error connecting to the db server: no reachable servers中给出的每个建议,但我永远无法解决此错误.
所以任何人都可以帮忙吗?
最佳答案 在启动映像容器之前,不会启动mongo数据库. Dockerfile只处理图像中的文件和文件夹,但不启动任何服务.
要将json导入数据库,可以编写一个bash脚本来启动mongo服务并导入json.您可以将此脚本设置为图像的条目脚本.