takaya030の備忘録

PHP、Laravel、Docker などの話がメインです

Docker で Ruby on Rails5 の開発環境を構築する

Docker で Ruby on Rails5 の開発環境のベースイメージを作成したときの手順メモ

設定ファイルおよび操作手順について

こちらのサイトに記載されている手順で rails5 もセットアップできました。
qiita.com


以下、内容を変更した設定ファイルです。

Dockerfile

#
# ruby 2.3 + rails 5.0.0.1
#
# 2016-10-05
#

FROM ruby:2.3
MAINTAINER takaya030

ENV APP_ROOT /usr/src/myapp

WORKDIR $APP_ROOT

RUN apt-get update && \
    apt-get install -y nodejs \
                       mysql-client \
                       postgresql-client \
                       sqlite3 \
                       --no-install-recommends && \
    rm -rf /var/lib/apt/lists/*

COPY Gemfile $APP_ROOT
COPY Gemfile.lock $APP_ROOT

RUN \
  echo 'gem: --no-document' >> ~/.gemrc && \
  cp ~/.gemrc /etc/gemrc && \
  chmod uog+r /etc/gemrc && \
  bundle config --global build.nokogiri --use-system-libraries && \
  bundle config --global jobs 4 && \
  bundle install && \
  rm -rf ~/.gem

# bundle install でカレントディレクトリに rails5 をインストールした後、
# 以下をコメントアウトして再度 docker build を実行する

#COPY . $APP_ROOT
#
#EXPOSE  3000
#CMD ["rails", "server", "-b", "0.0.0.0"]

Gemfile

source "https://rubygems.org"
gem 'rails', '5.0.0.1'

docker-compose.yml

version: '2'
services:
  app:
    build: .
    image: developer_name/project_name
    container_name: project_name_app
    environment:
      RAILS_ENV: development
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - .:/usr/src/myapp
    ports:
      - "3000:3000"