Ich führe zwei Dockerbehälter. Eins mit Schienen und eins mit Postgres db. Hier ist meine Docker-Compose-Datei:Konnte Rake-11.1.2 im Dockerkorb der Schienen nicht finden
# Docs: https://docs.docker.com/compose/compose-file/
version: '2'
services:
db:
image: postgres
environment:
- POSTGRES_PASSWORD=xxx
rails:
build: .
command: rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/app
ports:
- "3000:3000"
links:
- db
depends_on:
- db
Hier die Dockerfile für die Schienen App:
FROM ruby:2.3
RUN apt-get update
RUN apt-get install -y build-essential nodejs
RUN mkdir -p /app
WORKDIR /app
COPY Gemfile Gemfile.lock ./
RUN gem install bundler && bundle install --jobs 20 --retry 5
COPY . ./
EXPOSE 3000
ENTRYPOINT ["bundle", "exec"]
CMD ["rails", "server", "-b", "0.0.0.0"]
Wenn ich laufen docker-compose up
alles funktioniert und ich kann über die IP-Adresse eine Verbindung zum Server aus Docker-Maschine.
Wenn ich versuche, mit dem folgenden Befehl an den Behälter zu verbinden:
docker-compose run rails console
ich diesen Fehler:
Could not find rake-11.1.2 in any of the sources
Run `bundle install` to install missing gems.
Bündel im Innern des Behälters installieren hat keine Wirkung und das erwähnte Juwel ist auf jeden Fall Eingerichtet. In anderen Stack-Overflow Fragen wurden erwähnt, dass ich bin/spring stop
ausführen sollte. Also lief ich:
docker-compose run bin/spring stop
Und es gibt:
Spring is not running
ich noch comparibly bin neu in Ruby/Rails und Docker. Ich hoffe jemand kann mir hier helfen! Vielen Dank im Voraus
PS: Kommentare zu den Dockerfiles werden geschätzt!
Ich habe genau das gleiche Problem! – JacobEvelyn