Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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

kojima4twt
目指せ100アイテム! まったりと〜
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした