Skip to content

Dockerize rails

Posted on:March 31, 2017

It is simple to dockerize your rails app. Rails maintain an official release of rails base image, where you have all your basic prerequisites installed.

So you can create your docker file.

FROM rails:5
ENV WORKDIR /code
WORKDIR ${WORKDIR}

ADD Gemfile ${WORKDIR}
ADD Gemfile.lock ${WORKDIR}

RUN bundle install

ADD . ${WORKDIR}

And the docker-compose.yml,

version: '2'
services:
  web:
    build: .
    command: bin/rails server -p 3000 -b '0.0.0.0'
    ports:
    - 3000:3000
    volumes:
    - .:/code
    links:
    - mysql
  mysql:
    image: mysql:5.6

You would have to whitelist 0.0.0.0 for rails to log web console. In your config\environment\development.rb add,

  config.web_console.whitelisted_ips = '0.0.0.0'

Here is a sample project you can play with.

Go on and enjoy, docker-compose up web.