LoginSignup
2
9

More than 5 years have passed since last update.

WindowsでDockerを使ってCentOS上にrbenvなruby開発環境を構築する

Last updated at Posted at 2017-12-03

はじめに

Windows上にrbenvでバージョン切り替え可能なruby開発環境を構築する手順をまとめました。

以下は実施した際の前提条件になります。

  • Windows10 Pro
  • 64bit
  • メモリ8G
  • Docker for Windows
  • CentOS 7.4

Docker for Windowsの導入

rbenvはWindowsでは利用できなさそうなので、Windows上にDockerでLinux環境を構築して、その中でrbenvを使って開発環境を構築します。

インストーラの入手

インストール

  • インストーラを起動してウィザード通り進める

    • Hypver-Vが有効になっていないと、有効にして再起動するか聞いてくるのでOKする
    • ”Hardware assisted virtualization and data execution protection must be enabled in the BIOS" というエラーが出た場合、BIOSで当該項目を有効化する
      ※機種依存なのであれこれ探す必要あり
    • 再起動後、サービスをスタートするか聞いてくるので、開始させる
    • タスクトレイのクジラのアイコン上で「Docker is running」と表示されていれば起動完了
    • コマンドプロンプトにて docker version をたたいて動作確認

Dockerの基本操作

あれやりたいときはどうするんだコマンド

  • コンテナを終了せずに抜ける
    • Ctrl + p Ctrl + q
  • 現在の変更内容をイメージとしてリポジトリに保存
    • docker commit コンテナID リポジトリ名
  • イメージをDocker Hubに保存
    • docker push リポジトリ名
      ※Docker Hubに予めアカウントとリポジトリを作っておく

CentOSのイメージ導入

イメージはいろいろある、ひとまずDocker社公式のリポジトリから取得する

  • 以下コマンドでcイメージ取得

    • docker pull centos
  • コンテナを開始

    • docker run -it centos
  • バージョンを確認してみる

    • cat /etc/redhat-release
      ※この時(11/30)は「CentOS Linux release 7.4.1708 (Core)」でした

使いやすい設定にする

rbenvのインストール

以下が参考になりました。ありがたや。
CentOSにrbenvをインストール

gccのインストール

  • yum install gcc -y

makeのインストール

  • yum install make -y

bzip2のインストール

  • yum install bzip2 -y

gitのインストール

  • yum install git -y

rbenvをgitからcloneする

rbenvのコンパイル

  • cd ~/.rbenv && src/configure && make -C src

パスを通す

echo 'PATH=$HOME/.rbenv/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

ruby-build(rbenvのプラグイン)をclone

動作確認

  • rbenv -v
  • rbenv install -l

rubyのインストール

ビルドに必要なパッケージのインストール

  • yum install -y openssl-devel readline-devel zlib-devel

rbenvでrubyのインストール

  • rbenv install 2.4.2

切り替え

  • rbenv global 2.4.2

パスを通す

echo 'PATH=$HOME/.rbenv/shims:$PATH' >> ~/.bashrc
source ~/.bashrc

動作確認

  • ruby -v

別のバージョンも入れてみる

  • rbenv install 2.3.3

切り替えと確認

  • rbenv global 2.3.3
  • ruby -v

所感

4年落ちのデスクトップPCでも、特にストレスなく使えました。
きちんとdocker imageにタグをつけて管理していけば、切り戻しも簡単に行えるので、実用性は高いと思います。
無料でこんなにいろいろできるなんて、すごい時代だなぁ。

以下は細かい点。

  • dockerの操作感はgitに似ている気がします。なれると使いやすい。

  • rbenvは言うまでもなく便利。あとrehashは不要になっている様です。

18/02/06追記

3ヶ月ほど、簡単なスクリプト開発などで使用してみた感想は以下です。

  • vimが使いこなせない身としては、開発環境というより実行/検証環境になりがち。
  • VSCodeでコードを書いて、Power Shellでファイルを送り込むというスタイルに落ち着いた。
  • Docker for Windowsのアップデートは、安易にやらないほうが良いかもしれない。
    ※私の環境では 17.12.0-ce-win47 辺りにアップデートした後、PCがクラッシュしてDockerの再インストールを余儀なくされました。 今は 17.09.1-ce-win42 で問題なく利用できています。
2
9
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
9