mongodb – Dockerfile> RUN mongoimport =>失败:连接到数据库服务器时出错:没有可达的服务器

作为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.您可以将此脚本设置为图像的条目脚本.

点赞