无法使用Docker将mongodb与Rails容器连接组成

通过rails控制台在Model中插入值时出现此错误。

“Mongo :: Error :: NoServerAvailable:没有可用的服务器匹配首选项:#使用server_selection_timeout = 30和local_threshold = 0.015”

这两个容器运行良好,但Rails无法连接MongoDB。 我只有一个Dockerfile。

我的docker-compose.yml文件内容是:

version: '2' services: mongo: image: mongo:3.0 command: mongod --smallfiles --quiet environment: - RAILS_ENV=production - RACK_ENV=production ports: - "27017:27017" app: depends_on: - 'mongo' # - 'redis' build: . ports: - '3000:3000' volumes: - '.:/app' command: rails s -b '0.0.0.0' env_file: - '.env' volumes: mongo: 

我的Dockerfile:

 FROM ruby:2.3.0 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs ENV APP_HOME /app RUN mkdir $APP_HOME WORKDIR $APP_HOME ADD Gemfile* $APP_HOME/ RUN bundle install ADD . $APP_HOME 

您是否在mongoid.yml中使用mongo(与docker-compose.yml中提到的容器名称相同)作为主机?