Docker + Ruby on Rails 5 のメモ
Dockerfile
FROM ruby:2.3.1
ENV LANG C.UTF-8
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
ENV APP_HOME /myapp
RUN mkdir $APP_HOME
WORKDIR $APP_HOME
ADD Gemfile* $APP_HOME/
RUN bundle install
docker-compose.yml
version: '2'
services:
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/myapp
ports:
- "3000:3000"
Gemfile
source "https://rubygems.org"
gem 'rails', '~> 5.0.0'
$ touch Gemfile.lock で空のファイルを作成。
$ docker-compose build で Rails ビルド。
$ docker-compose run web rails new . --force --skip-bundle でデフォルトのアプリ作成。
↑ ここのwebはdocker-compose.ymlのservicesで定義しているweb。
rails newで新たにGemfileが生成されるので$ docker-compose build で再度ビルド。
$ docker-compose upでアプリ起動。
ブラウザから 0.0.0.0:3000 にアクセスして動作確認。