LoginSignup
2
2

More than 5 years have passed since last update.

DockerでサクッとRubyのあれこれを実行する

Posted at

いずこかなんしかRuby製の開発ツールを導入しようと思ったとき、「おやRubyが古いぞ」「おやbundlerが入っていないぞ」「おやgem installできないぞ」等々の問題が発生することがあります。
やれRVMだなんだというのも面倒ですので、Dockerが使えるならRuby環境のコンテナを作って実行してしまいましょう。
この記事を執筆するきっかけとなったケースではRedmineをherokuにデプロイする前の準備(bundel install)に使用しました。

手順

・ソースがあるディレクトリで以下のコマンドを実行

ホストのシェル
docker run --name ruby -i -t -v `pwd`:/var/ruby -w /var/ruby ruby /bin/bash

・コンテナにログイン後、任意のコマンドを実行

コンテナのシェル
bundle install
...
...
...
exit #最後はログアウト

・作業が終わったらコンテナ削除

ホストのシェル
docker rm ruby

補足

起動コマンド

参考までに起動コマンドの解説を記載しておきます

  • docker run →コンテナの起動
    • --name ruby →コンテナ名
    • -i -t →コンテナのシェルとホストのシェルを接続
    • -v pwd:/var/ruby →ホストのカレントディレクトリをコンテナにマウント
    • -w /var/ruby →コンテナの作業フォルダをマウントしたディレクトリに設定
    • ruby →コンテナの作成元イメージ
    • /bin/bash →コンテナログイン後に使用するシェル

Rubyのバージョンを変更する場合は、イメージを指定する際にruby:2.3と書きます。

その他注意点

作業後のdocker rm rubyを忘れると次回の起動時にコンテナ名の重複でエラーになるので気をつけましょう。

検証環境

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