LoginSignup
2
4

More than 5 years have passed since last update.

Dockerfile だけのRails開発環境

Posted at

目的

  • データベースにアクセスしないRails アプリを作ることになりました
  • "Rails Docker" でググるとみんなMac でdocker-compose を使ってる
  • 何にもアクセスしないのでRails だけ欲しいのでdocker-compose じゃなくていい

Dockerfile作成

FROM ruby:2.4.2
ENV LANG C.UTF-8
RUN apt-get update -qq && apt-get install -y mysql-client unzip
RUN gem install bundler -v 1.15.4

ENV APP_HOME /myapp
ENV BUNDLE_JOBS=4
RUN mkdir -p /tmp
WORKDIR /tmp
ADD Gemfile Gemfile
ADD Gemfile.lock Gemfile.lock
RUN bundle install
RUN mkdir -p $APP_HOME
WORKDIR $APP_HOME
ADD . $APP_HOME

EXPOSE  3000
CMD ["rails", "server", "-b", "0.0.0.0"]

起動方法

$ docker build -t [なんかカッコいい名前] .
$ docker run -v [Mac上の開発環境のディレクトリ]:/myapp -p 3000:3000 [なんかカッコいい名前]

アクセス方法

ポイント

  • Dockerfile
    • tmpディレクトリでbundle install することで2回目以降のbuildを高速化してます
  • docker run
    • -v をつけることでディレクトリの同期をしてます。つけなかった場合、コードを修正する度にDockerの再起動が必要ですが、付与しておけば再起動は不要になるので開発速度が爆速であがります
  • 検証環境
    • 多分、heroku でも動くはず
2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4