【发布时间】:2019-05-20 16:16:04
【问题描述】:
我需要将 MongoDB 与 Docker 一起使用。到目前为止,我能够创建一个容器,启动 Mongo 服务器并从主机访问它(通过 Compass)。 我接下来要做的是将脚本中的数据导入到容器中运行的 Mongo 数据库中。 尝试导入数据时出现以下错误:
失败:连接到数据库服务器时出错:没有可访问的服务器
我在做什么……
docker-compose.yml:
version: '3.7'
services:
mongodb:
container_name: mongodb_db
build:
context: .
dockerfile: .docker/db/Dockerfile
args:
DB_IMAGE: mongo:4.0.9
ports:
- 30001:27017
environment:
MONGO_DATA_DIR: /data/db
MONGO_LOG_DIR: /dev/null
db_seed:
build:
context: .
dockerfile: .docker/db/seed/Dockerfile
args:
DB_IMAGE: mongo:4.0.9
links:
- mongodb
mongodb Dockerfile:
ARG DB_IMAGE
FROM ${DB_IMAGE}
CMD ["mongod", "--smallfiles"]
db_seedDockerfile:
ARG DB_IMAGE
FROM ${DB_IMAGE}
RUN mkdir -p /srv/tmp/import
COPY ./app/import /srv/tmp/import
# set working directory
WORKDIR /srv/tmp/import
RUN mongoimport -h mongodb -d dbName--type csv --headerline -c categories --file=categories.csv #Failed: error connecting to db server: no reachable servers
RUN mongo mongodb/dbName script.js
我在这里做错了什么?我该如何解决这个问题? 我想保留当前的文件组织(docker-compose、mongodb Dockerfile 和 db_seed Dockerfile)。
【问题讨论】:
标签: mongodb docker docker-compose dockerfile mongoimport