2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

まだ自分のPCで消耗しているの?Dockerを使ってコマンド一発!Rubyの環境を構築しよう!

Last updated at Posted at 2019-06-22

想定読者

  • ローカル環境構築に消耗している人
  • Dockerで全部管理したい人
  • Docker説明はいいから作り方を早く教えて欲しい人
  • 最新のRubyを手っ取り早く使いたい人

前提

  • 既にDockerをインストールしている人。
  • Dockerを初めて触る人。
  • コマンド操作はまだ慣れてなくてOK(コピペでいけます)

目標

  • Dockerを起動して1発コマンドを入力すれば、Rubyの環境を構築できちゃう。

    • 実はDockerには、公式ドキュメントとしてDocker hubといった、各言語のサポート資料があります。その中にも、もちろんRubyもあります。

    • 今回はこちらの資料を参考に環境を構築していきます。

準備

  • Docker
  • エディタ(VScode)
  • 1回のコマンドを打つ勇気

環境構築

Rubyフォルダ作成

今回専用のディレクトリを作成します。

DesktopにRubyのフォルダを作成して、エディタを開いてファイルを作成する準備を行いましょう。

Ruby.mov.gif

準備は以上です!

ターミナルを立ち上げてコマンドを入力する

control + ` もしくは

上のタブからターミナルから新しくターミナルを選択するとターミナルが出ます。

次に下記のコマンドを入力しましょう!

$ docker run --name ruby -i -t -v `pwd`:/var/ruby -w /var/ruby ruby /bin/bash
Unable to find image 'ruby:latest' locally
latest: Pulling from library/ruby
Digest: sha256:90e8ee6a35bdecdb67cb1d5f0333c79604eab86b7a5a6ad2417378a216f7a316
Status: Downloaded newer image for ruby:latest
root@776f431724cd:/var/ruby#

これで環境構築が完了しました!

(上記の表記が一部違う可能性もあるかと思いますが、root@776f431724cd:/var/ruby#のような形で出れば成功です。数字はランダムなので気にしないでください。)

そして$表記からroot@776f431724cd:/var/ruby#に変わっているのを確認できるでしょうか?

ここから実際にRubyのコマンドを打つことができます。

試しにRubyバージョンを確認したり、irbを起動して試してみましょう!

root@5081aa657940:/var/ruby# ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
root@5081aa657940:/var/ruby# irb     
irb(main):001:0> puts "Hello World"
Hello World
=> nil
irb(main):002:0> quit
root@5081aa657940:/var/ruby# 

実際にrbファイルを作成して、HelloWorldを表示させる。

実際にRubyのファイルを作っても動きます。
下記手順です。

hello.rbファイルの作成

今回rubyのフォルダの中にhello.rbを作成します。

下記のように作成してください!

puts "Hello World"

作成し終わったら保存しましょう!

ターミナルにて動作確認

実際にターミナルで確認していきます。

root@d4db42df138c:/var/ruby# ls
hello.rb
root@d4db42df138c:/var/ruby# ruby hello.rb
Hello World

無事にファイルが表示されました!

このように、rubyのフォルダにファイルを作成して動かしてみてください!

後片付け

ガチャガチャ動かして、もう飽きた!終わり!やめた!という方は下記のコマンドを入力すると通常のシェルに戻ります。

root@d4db42df138c:/var/ruby# exit
exit

そして最後に下記のコマンドを入力すれば後片付け終了です。

$ docker rm ruby                                                             
ruby
# エラーが出て消えなかったら下記のコマンドを入力
$ docker rm -f ruby

もう一度行いたいときは先ほどの手順を再度踏まえてもらえれば、問題なく動くはずです!

ね?簡単でしょ?

これでRubyの環境構築は終わりです。

いかがでしょうか。

(おまけ)コマンド一発の解説

今回フォルダを作成→1発コマンド入力→Rubyの環境構築完了
の順番でした。

おそらくチンプンカンプンな人もいるので、
下記のコマンドの解説について一個ずつ解説していきます。

コンテナやディレクトリの単語の意味がわからない方はググってください。。。。

$ docker run --name ruby -i -t -v `pwd`:/var/ruby -w /var/ruby ruby /bin/bash
  • docker run

    • これはdockerのコンテナを起動します。
  • —name ruby

    • コンテナに名前をつけます。今回はrubyという名前でコンテナを作成しました。
  • -i -t

    • この辺りはdocker runを起動するための必要なコマンドとして覚えてください。
  • -v `pwd`:/var/ruby

    • ディレクトリを共有します。
    • 今回だとローカルにあるDesktoprubyのフォルダにhello.rbを作成しましたが、コンテナの中にある、/var/rubyの配下にも同じhello.rbを共有してくれます。便利でしょ。
  • -w /var/ruby

    • これはコンテナを起動した際に、どこで作業するかディレクトリを決めることができます。
    • root@d4db42df138c:/var/ruby#この表記は起動した際に/var/rubyのディレクトリに勝手に移動してくれます。コンテナの中に入る時、一々cdで移動する必要が無くなります。
  • ruby

    • rubyをインストールしてくれます。
    • バージョンは何も書いていないと最新の安定版をインストールしてくれます。
    • もし、バージョンが古いものを使いたい時はruby:2.5.5のように書いてください。
  • /bin/bash

    • コンテナの起動時にbashも起動します。
    • 要はローカルだと$ですが、dockerのコンテナに入るとroot#の形になります。

##(おまけのおまけ)最後の削除するコマンドは何?

$ docker rm ruby

これはrubyというコンテナを削除しますよという意味です。

理由は、実際にコンテナの外に出たとしても、コンテナは動いています。
もう一度入ることはできないので、一度消したほうがいいでしょう。

(もしもう一度入ることができるのであれば、コメントくれると嬉しいです。)

#以上です。
何か間違ったことを書いていれば、コメントください!訂正します!

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?