想定読者
- ローカル環境構築に消耗している人
- Dockerで全部管理したい人
- Docker説明はいいから作り方を早く教えて欲しい人
- 最新のRubyを手っ取り早く使いたい人
前提
- 既にDockerをインストールしている人。
- Dockerを初めて触る人。
- コマンド操作はまだ慣れてなくてOK(コピペでいけます)
目標
-
Dockerを起動して1発コマンドを入力すれば、Rubyの環境を構築できちゃう。
-
実はDockerには、公式ドキュメントとしてDocker hubといった、各言語のサポート資料があります。その中にも、もちろんRubyもあります。
-
今回はこちらの資料を参考に環境を構築していきます。
-
準備
- Docker
- エディタ(VScode)
- 1回のコマンドを打つ勇気
環境構築
Rubyフォルダ作成
今回専用のディレクトリを作成します。
DesktopにRubyのフォルダを作成して、エディタを開いてファイルを作成する準備を行いましょう。
準備は以上です!
ターミナルを立ち上げてコマンドを入力する
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
- ディレクトリを共有します。
- 今回だとローカルにある
Desktop
にruby
のフォルダに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
というコンテナを削除しますよという意味です。
理由は、実際にコンテナの外に出たとしても、コンテナは動いています。
もう一度入ることはできないので、一度消したほうがいいでしょう。
(もしもう一度入ることができるのであれば、コメントくれると嬉しいです。)
#以上です。
何か間違ったことを書いていれば、コメントください!訂正します!