Używam dwóch kontenerów doków. Jedna z szynami i jedna z dbem Postgres. Oto mój plik doker-komponować:Nie można odnaleźć prowizji rake-11.1.2 w kontenerze szyny
# 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
tu Dockerfile dla aplikacji szyn:
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"]
Kiedy biegnę docker-compose up
wszystko działa poprawnie i mogę połączyć się z serwerem za pomocą adresu IP, z doker-maszyna.
Kiedy próbuję połączyć się z pojemnika za pomocą następującego polecenia:
docker-compose run rails console
otrzymuję ten błąd:
Could not find rake-11.1.2 in any of the sources
Run `bundle install` to install missing gems.
wiązka instalacji wewnątrz pojemnika ma żadnego efektu, a wspomniane gem jest zdecydowanie zainstalowany. W innych pytaniach dotyczących przepełnienia stosu wspomniano, że powinienem uruchomić bin/spring stop
. Więc wpadłem:
docker-compose run bin/spring stop
I powraca:
Spring is not running
nadal jestem comparibly nowy w Ruby/szyny i docker. Mam nadzieję, że ktoś mi w tym pomoże! Z góry dziękuję
PS: Komentarze do plików Docker są mile widziane!
Mam dokładnie ten sam problem! – JacobEvelyn