레일즈 콘솔을 통해 모델에 값을 삽입 할 때이 오류가 발생합니다.Docker를 사용하여 mongodb를 Rails 컨테이너에 연결할 수 없습니다.
"Mongo::Error::NoServerAvailable: No server is available matching preference: # using server_selection_timeout=30 and local_threshold= 0.015 "
두 컨테이너 모두 정상적으로 실행되고 있지만 레일즈는 mongodb에 연결할 수 없습니다. Dockerfile이 하나뿐입니다.
내 고정 표시기-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
레일 응용 프로그램은 어떤 호스트에 연결하려고합니까? – R0MANARMY
localhost : 27017 –
[Docker 사용 중] 가능한 복제본 : "SQLSTATE \ [HY000 \] \ [2002 \] 해당 파일이나 디렉토리가 없음"] (http://stackoverflow.com/questions/40075065/using- docker-i-get-the-error-sqlstatehy000-2002-no-such-file-or-directory) – R0MANARMY