Created
October 10, 2019 03:43
-
-
Save pxlpnk/ad18fd93355f56e10fdae9b741fcd938 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM ubuntu:18.04 | |
FROM ruby:2.6.3 | |
# 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 | |
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - | |
RUN apt-get install -y nodejs | |
# 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 .ruby-version ./ | |
RUN gem install bundler && bundle install | |
# Copy the main application. | |
COPY . ./ | |
# Create a database.yml file | |
RUN mv ./config/database.yml.example ./config/database.yml | |
# 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. | |
ENV RAILS_ENV production | |
CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment