2
3

More than 3 years have passed since last update.

Railsの既存AppをDockerに切り替える際に役立つ記事

Posted at

既存のAppをDockerに切り替える

過去に制作したRailsアプリをDockerで構築したいと思います。

参考になる記事

基本的にこの記事を使って、進めていきました。
Ruby on Rails 「途中まで作ったアプリにDockerを導入したい」に挑戦してみる(MySQL / Sequel Pro)

build時のエラーが出たら、下記の資料が役立ちます。
Docker docker-compose up時、You must use Bundler 2 or greater with this lockfile. という地獄のエラー

  1. Gemfile.lockの記述を削除して、空状態にする。(Dockerに切り替える際に阻害してしまう)
  2. Dockerfileのbundlerのバージョンを指定(RUN gem install bundler -v 1.3.0)
  3. $ docker-compose run web bundle install
  4. 改めてbuildする

これで進めました

docker
FROM ruby:2.5.1

RUN apt-get update -qq && \
    apt-get install -y build-essential \ 
                       libpq-dev \        
                       nodejs      

RUN mkdir /app_name 

ENV APP_ROOT /app_name 
WORKDIR $APP_ROOT

ADD ./Gemfile $APP_ROOT/Gemfile
ADD ./Gemfile.lock $APP_ROOT/Gemfile.lock

RUN gem install bundler -v 1.3.0
RUN bundle install
ADD . $APP_ROOT

Ruby | bundler を特定のバージョンに切り替えて実行する

起動する際にエラーが出た場合
docker-compose up したらdriver failed programming external connectivity on endpointが出てきた

2
3
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
3