Not able to connect mongodb with Rails container using Docker compose

Getting this error when inserting values in Model through rails console .

“Mongo::Error::NoServerAvailable: No server is available matching
preference: # using server_selection_timeout=30 and local_threshold=
0.015 “

  • Attach and run a command in a docker container
  • How to use other buildpacks with dokku-alt
  • docker running in vmware gets x509 error
  • How to warmup application inside Docker Container?
  • Docker disconnect all containers from docker network
  • What is the different between Docker bundles and docker-compose?
  • Both containers are running fine, but Rails not able to connect mongodb .
    I have only one Dockerfile.

    My docker-compose.yml file contents are:

     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:
    

    My 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
    

  • Docker not running on OS/X
  • Docker IIS Network Connection to External Network
  • Docker Kubernetes cluster error Request had insufficient authentication scopes on Google Cloud
  • Running ServiceBus in windows docker container
  • Symlink to volume in Docker container
  • How do you do cancel a dockerfile image building on the first error it encounters?
  • One Solution collect form web for “Not able to connect mongodb with Rails container using Docker compose”

    Did you use mongo(same as the container name mentioned in docker-compose.yml) as your host in mongoid.yml?

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.