LoginSignup
14
19

More than 5 years have passed since last update.

Ruby on Rails の環境を Docker で構築して RubyMine でコーディング (Mac Book Pro)

Last updated at Posted at 2017-08-26

Ruby on Rails の環境を Docker で構築して RubyMine でコーディング (Mac Book Pro)

前回の記事のDocker設定はbundle専用のコンテナを用意してGemのインストールの効率化をしていたのですが、この設定だとRubyMineの『Gemをリモートでインストールする機能』が上手く働かないため、Dockerの設定を変更してコーディングに特化した環境にします。

bundle専用コンテナと『Gemをリモートでインストールする機能』を両立する方法が見つかった場合は更新しようと考えています。

前回の記事

Dockerの設定、実行

  • 前回のDockerfileの以下をコメントにします。
    ENV BUNDLE_JOBS=4 \
    BUNDLE_PATH=/bundle
Dockerfile
FROM ruby:2.3.3
RUN apt-get update -qq && \
    apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile .
ADD Gemfile.lock .
#ENV BUNDLE_JOBS=4 \
#    BUNDLE_PATH=/bundle
RUN bundle install
ADD . .

  • 前回のdocker-compose.ymlの以下をコメントにします。
    volumes_from:
    - bundle
    bundle:
    image: busybox
    volumes:
    - /bundle
docker-compose.yml
version: '2'
services:
  web:
    build: .
    #command: bundle exec rails s -p 3000 -b 0.0.0.0
    command: bundle exec rdebug-ide --port 1234 --dispatcher-port 26162 --host 0.0.0.0 -- bin/rails s -b 0.0.0.0 -p 3000
    container_name: web
    depends_on:
      - db
    ports:
      - "127.0.0.1:3000:3000"
      - "127.0.0.1:1234:1234"
      - "127.0.0.1:26162:26162"
    stdin_open: true
    tty: true
    volumes:
      - .:/myapp
#    volumes_from:
#      - bundle
  db:
    image: postgres
#  bundle:
#    image: busybox
#    volumes:
#      - /bundle

  • Dockerfileを 再ビルドします。
$ docker-compose stop

$ docker-compose build
  • データベースを再作成します。
$ docker-compose run web rake db:create
$ docker-compose run web rake db:migrate
  • dockerのコンテナを起動します。
$ docker-compose up

RubyMineでDockerのGemをリモートインストールして、コーディング開始

  • Dockerのイメージの中から [プロジェクトのフォルダ名]_web を選択します。
    スクリーンショット 2017-08-26 15.57.08.png

  • Gemがインストールされているのを確認して選択します。
    RubyMineのメイン画面にソースを表示して『Cannot find 'クラス名' more...』で黄色表示されていた箇所がなくなりオールグリーンになれば成功です。
    スクリーンショット 2017-08-26 15.57.58.png

左下のDockerコンテナの起動状況を確認できるツールが便利で良いですね。
スクリーンショット 2017-08-26 16.18.16.png

14
19
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
14
19