docker-compose mongo rails连接失败

时间:2015-05-22 18:52:05

标签: ruby-on-rails mongodb docker-compose

我在开发环境中有mongodb的rails应用程序。 无法将mongodb与docker连接。可以使用相同的mongoid配置连接到本地mongodb。我尝试将host更改为localhost到0.0.0.0但是没有用。 设置中缺少什么?

我怀疑是Docker中的mongo还没有启动或绑定。如果我在mongoid配置中进行更改读取:: nearest,则说没有找到节点。

错误信息是, 产品#index中的Moped :: Errors :: ConnectionFailure

无法连接到副本集#]>

的主节点

Dockerfile

#FROM ruby:2.2.1-slim
FROM rails:4.2.1
MAINTAINER Sandesh Soni, <my@email.com>
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
RUN mkdir /gmv
WORKDIR /gmv
# Add db directory to /db
ADD Gemfile /gmv/Gemfile
RUN bundle install
ADD ./database /data/db
ADD . /gmv

搬运工-compose.yml

web:
  build: .
  command: bundle exec rails s -p 3000 -b '0.0.0.0'
  volumes:
    - .:/gmv
  ports:
    - "3000:3000"
  links:
    - db
db:
  image: mongo
  command: "--smallfiles --bind_ip 0.0.0.0 --port 27027 -v"
  volumes:
    - data/mongodb:/data/db
  ports:
    - "27017:27017"

1 个答案:

答案 0 :(得分:0)

在主机上执行docker run yourapp env,然后在输出中查找与您的数据库相关的IP地址。那个IP地址&amp;您需要使用端口连接到在容器中运行的数据库。

类似问题here