【发布时间】:2017-03-05 04:57:40
【问题描述】:
通过 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
【问题讨论】:
-
您的 Rails 应用程序试图连接到哪个主机?
-
本地主机:27017
标签: ruby-on-rails mongodb docker docker-compose microservices