Зачем вам копировать Gemfile.lock
, запускать bundle install
для создания нового Gemfile.lock
, а затем сразу же копировать текущий каталог, содержащий исходный Gemfile.lock
, и перезаписывать Gemfile.lock
, который был только что создан Bundler в Докер контейнер?
Кроме того, почему вы можете не иметь EXPOSE 3000
?
https://docs.docker.com/compose/rails/#define-the-project
FROM ruby:2.3.3
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /myapp
WORKDIR /myapp
COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
COPY . /myapp
Это не единственное место, где это происходит. Это также сделано здесь, что кажется довольно официальным. Может быть, я упускаю фундаментальный аспект Docker?
https://hub.docker.com/_/ruby/
COPY Gemfile Gemfile.lock ./
RUN bundle install
COPY . .