もやぶろ

moyashidaisukeのブログだからもやぶろ。フリーランスのエンジニアのダイスケです。プログラム関連とかギター関連とか旅行関連とか色々。

RubyMineでDockerでRuby環境作成メモ

rubyの勉強しようと思ったんだけど、ローカルに入れたくないのでとりあえずrubyをさくっと動かすためのrubyのdocker環境をつくった。

リポジトリ

github.com

やった事

docker-composeでruby動かす

docs.docker.com 公式の設定サンプルを参考(railsだけど)にとりあえずrubyが動くように

github.com

docker-compose.yml

version: '3'
services:
  ruby:
    build: ruby
    volumes:
      - ./myapp:/myapp
    tty: true

Dockerfile

FROM ruby:2.5.3
RUN mkdir /myapp
WORKDIR /myapp

docker起動

docker-compose build
docker-compose up -d
docker exec -it ruby-docker_ruby_1 bash

ruby実行

root@80ee21e28a2d:/myapp# ruby helloworld.rb
hello world!

RubyMineから実行できるようにする

参考

pleiades.io

pleiades.io

プラグイン確認

f:id:moyashidaisuke:20181223132808p:plainf:id:moyashidaisuke:20181223132822p:plain

remote追加

f:id:moyashidaisuke:20181223142105p:plain f:id:moyashidaisuke:20181223142123p:plain f:id:moyashidaisuke:20181223142140p:plainf:id:moyashidaisuke:20181223142151p:plain

試しにRunしたら動いた f:id:moyashidaisuke:20181223142223p:plain f:id:moyashidaisuke:20181223142237p:plain

Debug実行

試しに実行してみたら怒られた

14:23    Error running 'helloworld': Cannot start debugger. Gem 'ruby-debug-ide' isn't installed or its executable script 'rdebug-ide' doesn't exist.

落ち着いてマニュアルに従ってgemfileを追加して、build時にbunlde installするようにする

Dockerfile

FROM ruby:2.5.3
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock
RUN bundle install

Gemfileのpathが気に食わないけど、とりあえずそのままで。

少しハマったのが、installしたGemがRubyMine見えるように手動で再読込してあげないといけなかった。

f:id:moyashidaisuke:20181223145851p:plain

動いた f:id:moyashidaisuke:20181223145956p:plain

所感

他の言語も一通り作っておくと楽だな〜と思いました。 環境作ったら同じノリで残しておく事にしよう。