首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dockerfile > RUN mongoimport =>失败:连接到数据库服务器时出错:没有可访问的服务器

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

Stack Overflow用户
提问于 2018-12-07 06:35:47
回答 2查看 490关注 0票数 4

作为Docker的新手,我试图通过工作目录中的docker-compose.yml构建一个包含一些示例数据的mongoDB Docker容器。

我的mongo/Dockerfile包含以下代码:

代码语言:javascript
复制
FROM mongo:latest
ADD shops.json /home/
RUN mongoimport --db masterdata --collection shops --file /home/shops.json

在最后一行中,示例数据将被导入到mongoDB。

我的docker-compose.yml包含以下代码:

代码语言:javascript
复制
version: '3'
  services:
    mongo:
    build: mongo
    ports:
    - "27017:27017"

使用上面的配置,我尝试构建MongoDB docker容器,但得到了错误:

代码语言:javascript
复制
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中给出的所有建议,但始终无法解决此错误。

有人能帮上忙吗?

EN

回答 2

Stack Overflow用户

发布于 2020-07-15 01:13:01

代码语言:javascript
复制
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  
票数 2
EN

Stack Overflow用户

发布于 2018-12-07 15:34:44

只有在启动镜像的容器之后,mongo数据库才会启动。Dockerfile只负责镜像中的文件和文件夹,但不会启动任何服务。

要将json导入数据库,您可以编写一个bash脚本,该脚本将启动mongo服务并导入json。您可以将此脚本设置为您的图像的入口脚本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53660740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档