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 connected to the db server: no reachable servers类似,但我真的尝试了mongoimport Docker Failed: error connected to the db server: no reachable servers中给出的每一个建议,我永远无法解决这个错误.
所以有人可以帮忙吗?
解决方案
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
推荐阅读
- geospatial - GraphDB 8.6.1 Free - 地理空间谓词不适用于运行时,但适用于 Workbench
- delphi - TIDHTTP:无法在非 https URL 上加载 SSL 库
- python - NameError:名称未定义;满足条件时定义的变量
- c# - 带有 Windows 服务的 OWIN Web API
- android - 改造 2 和 Spring Boot 授权不起作用
- intersystems-cache - 在缓存中运行后台方法
- firebase - 保存到大于 1MB 的 Firestore 对象
- python - 如何编辑 Python 脚本?
- python - 如何检查程序上使用的线程数
- docker - 重启后找不到 Docker 网络