Die dockerfile besteht wie: -mongodb Verbindung abgelehnt Docker-komponieren
FROM ruby:2.2.3-slim
MAINTAINER Milan Rawal <[email protected]>
RUN apt-get update && apt-get install -qq -y build-essential nodejs libmagickcore-dev imagemagick libmagickwand-dev libxml2-dev libxslt1-dev git-core curl htop --fix-missing --no-install-recommends
ENV INSTALL_PATH /air_scout
RUN mkdir -p $INSTALL_PATH
WORKDIR $INSTALL_PATH
COPY Gemfile Gemfile
RUN bundle install
COPY . .
RUN bundle exec rake RAILS_ENV=production SECRET_TOKEN=f6801f0744ff2e86b0baa542fc55075b5b79c922c518e34484cfe6a6c2149510973fa6c90d36c05907f8bf9114b6b33594f3630810b332ef3717b8b8f4f04b1f assets:precompile
VOLUME ["$INSTALL_PATH/public"]
CMD bundle exec unicorn -c config/unicorn.rb
Und die Docker-compose.yml Datei enthält wie: -
version: '2'
services:
mongodb:
image: mongo:latest
ports:
- '27017:27017'
volumes:
- air_scout-mongodb:/data/db
redis:
image: redis:3.0.5
ports:
- '6379:6379'
volumes:
- air_scout-redis:/var/lib/redis
air_scout:
build: .
ports:
- '8000:8000'
environment:
- DATABASE_URL=mongodb:27017
links:
- mongodb
- redis
env_file:
- .air_scout.env
resque:
build: .
environment:
- QUEUE=*
- DATABASE_URL=mongodb:27017
links:
- mongodb
- redis
command: bundle exec rake environment resque:work
env_file:
- .air_scout.env
volumes:
air_scout-redis:
air_scout-mongodb:
Als ich "Docker-compose build" tun Jedes Ding baut sich richtig auf und wenn ich "docker-compose up" mache, bootet die App und ich kann auf die App zugreifen, die im air_scout Container auf dem vm Host läuft, aber auf der db access app. Seite bekomme ich Fehler als:
"air_scout_1 | [fe9cdec8-36e4-4974-aef3-18b1e73ea030] [DEBUG] MONGODB | Verbindung verweigert - connect (2) für 127.0.0.1:27017".
In meiner mongoid.yml Datei ich Config wie unten tat haben:
hosts:
- localhost:27017
- <%= ENV['DATABASE_URL'] %>
Was das Problem tatsächlich ist, bin hämmern ich seit gestern meinen Kopf wirklich. Vielen Dank.
Doing "Docker inspect CID" gibt die JSON-Daten, in denen die IPaddress unter Networsetting ist leer. Wie kann ich auf diese leere IP zugreifen?
EDIT: - Inhalte in mongoid.yml Datei ist als: -
production:
clients:
default:
database: air_scout_test
hosts:
- localhost:27017
- <%= ENV['DATABASE_URL'] %>
options:
max_pool_size: 1
options:
raise_not_found_error: false
kein Glück gleichen Debug-Fehlermeldung bekommen, wie erwähnt. Aber wenn ich an mongodb ping bekomme ich als: - 64 Bytes von 172.18.0.3: icmp_seq = 14 ttl = 64 Zeit = 0.161 ms. Irgendwelche Ideen. – codemilan
Meine Vermutung ist, dass etwas mit Ihrem mongoid.yml nicht stimmt - vielleicht ein Tippfehler im Pfad zur Konfiguration Ihres Hosts, daher wird der Standardwert localhost verwendet. Kannst du das Ganze in deine Frage bringen? –
vielen Dank für schnelle Antwort @Juergen Gmeiner, ich habe die Frage für mongoid.yml Datei bearbeitet. – codemilan