#既存の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. という地獄のエラー
- Gemfile.lockの記述を削除して、空状態にする。(Dockerに切り替える際に阻害してしまう)
- Dockerfileのbundlerのバージョンを指定(RUN gem install bundler -v 1.3.0)
- $ docker-compose run web bundle install
- 改めて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が出てきた