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=
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
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?