4

開発環境にmongodbを使用したレールアプリケーションがあります。mongodb を docker に接続できません。同じモンゴイド構成でローカル mongodb に接続できます。ホストを localhost として 0.0.0.0 に変更しようとしましたが、うまくいきませんでした。設定に何が欠けていますか?

私の疑問は、Docker の mongo が起動またはバインドされていないことです。mongoid config を read: :nearest に変更すると、no nodes found と表示されます。

エラー メッセージは、Moped::Errors::ConnectionFailure in Product#index です。

レプリカ セットのプライマリ ノードに接続できませんでした #]>

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

docker-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"
4

1 に答える 1

0

ホスト マシンで を実行docker run yourapp envし、出力でデータベースに関連する IP アドレスを探します。コンテナで実行されているデータベースに接続するために使用する必要がある IP アドレスとポート。

ここで尋ねられた同様の質問

于 2015-11-19T11:52:15.457 に答える