我在开发环境中有一个带有mongodb的rails应用程序。无法使用docker连接mongodb。可以使用相同的mongoid配置连接到本地mongodb。我尝试将host as localhost更改为0.0.0.0,但不起作用。设置中缺少什么?
我的怀疑是Docker中的mongo还没有启动或绑定。如果我在mongoid配置中将其更改为read::nearest,它会显示找不到节点。
错误消息是,Product#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 . /gmvdocker-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"发布于 2015-11-19 19:52:15
在您的主机上执行docker run yourapp env,然后在输出中查找与您的数据库相关的ip地址。连接到在容器中运行数据库所需的ip地址和端口。
向here提出了类似的问题
https://stackoverflow.com/questions/30403915
复制相似问题