首页 > 解决方案 > 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 connected to the db server: no reachable servers类似,但我真的尝试了mongoimport Docker Failed: error connected to the db server: no reachable servers中给出的每一个建议,我永远无法解决这个错误.

所以有人可以帮忙吗?

标签: mongodbdocker-composedockerfile

解决方案


RUN mkdir -p /opt/acrc/config
COPY *.json /opt/acrc/config/
RUN mongod --fork --logpath=/tmp/mongodb.log && sleep 20 && \
  mongoimport -c=users -d=acrc --mode=upsert --file=/opt/acrc/config/users.json && \
  mongoimport -c=tasks -d=acrc --mode=upsert --file=/opt/acrc/config/tasks.json && \
  mongoimport -c=configs -d=acrc --mode=upsert --file=/opt/acrc/config/configs.json && \
  mongoimport -c=agentGroupConfigs -d=acrc --mode=upsert --file=/opt/acrc/config/agentGroupConfigs.json  

推荐阅读