39 lines
1.2 KiB
Docker
39 lines
1.2 KiB
Docker
#FROM debian:9
|
|
FROM ruby:2.5-stretch
|
|
MAINTAINER email@christoph-haas.de
|
|
|
|
# Install apt based dependencies required to run Rails as
|
|
# well as RubyGems. As the Ruby image itself is based on a
|
|
# Debian image, we use apt-get to install those.
|
|
RUN apt-get update && apt-get install -y \
|
|
build-essential ruby ruby-dev libpq-dev libbz2-dev libbz2-1.0 zlib1g zlib1g-dev postgresql-client
|
|
|
|
RUN apt-get install -y git
|
|
RUN apt-get install -y rbenv
|
|
|
|
# Configure the main working directory. This is the base
|
|
# directory used in any further RUN, COPY, and ENTRYPOINT
|
|
# commands.
|
|
RUN mkdir -p /app
|
|
WORKDIR /app
|
|
|
|
# Copy the Gemfile as well as the Gemfile.lock and install
|
|
# the RubyGems. This is a separate step so the dependencies
|
|
# will be cached unless changes to one of those two files
|
|
# are made.
|
|
COPY Gemfile Gemfile.lock ./
|
|
#RUN gem install bundler && bundle install --jobs 20 --retry 5
|
|
RUN bundle install --jobs 20 --retry 5
|
|
|
|
# Copy the main application.
|
|
COPY . ./
|
|
|
|
# Expose port 3000 to the Docker host, so we can access it
|
|
# from the outside.
|
|
EXPOSE 3000
|
|
|
|
# The main command to run when the container starts. Also
|
|
# tell the Rails dev server to bind to all interfaces by
|
|
# default.
|
|
CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"]
|
|
|