| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- FROM ruby:2.6.3-alpine as builder
- # Add git to clone Rspec repositories and build-base to compile nokogiri gem
- # Additionally, we need to set timezone information
- RUN apk add --update git build-base postgresql-dev yarn tzdata && \
- cp /usr/share/zoneinfo/UTC /etc/localtime && \
- echo "UTC" > /etc/timezone
- # Make an app directory, just like Heroku.
- RUN mkdir /app
- WORKDIR /app
- # Copying the Gemfile separately allows the image to be cached.
- # These steps are not rerun unless the Gemfile or Gemfile.lock is changed.
- COPY Gemfile Gemfile.lock /app/
- RUN bundle install --jobs 4 --retry 5 --without development test
- # Again, copy seperately so we can cache this step.
- COPY package.json yarn.lock /app/
- RUN yarn install
- # Copy our app over now
- COPY . /app
- # Copy the docker configurations over
- COPY config/database.yml.docker config/database.yml
- # And compile our assets
- RUN rails assets:precompile
- FROM ruby:2.6.3-alpine
- RUN apk add --update postgresql-dev tzdata && \
- cp /usr/share/zoneinfo/UTC /etc/localtime && \
- echo "UTC" > /etc/timezone
- # Make an app directory, just like Heroku.
- RUN mkdir /app
- WORKDIR /app
- # Grab everything from the builder
- COPY --from=builder /usr/local/bundle/ /usr/local/bundle/
- COPY --from=builder /app/ /app/
- # Run the server
- EXPOSE 3000
- CMD rails server -p 3000
|