【问题标题】:Not able to connect mongodb with Rails container using Docker compose无法使用 Docker compose 将 mongodb 与 Rails 容器连接
【发布时间】: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

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2022-12-09
    • 2019-04-24
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多