docker上のrubyでHello World出力してみる

DockerUbuntu

rubyのベースイメージをダウンロードする

Docker上でrubyを実行するために、DockerHubからrubyのイメージをダウンロードします。
下記コマンドでダウンロード可能です。

docker pull ruby:2.3.1

で、プロジェクトフォルダを作成して遷移します。

mkdir docker-rails-test
cd docker-rails-test

test用にtest.rbを作成します。

vi test.rb
puts "Hello World☆*:.。. o(≧▽≦)o .。.:*☆"

これで準備完了です。

docker runコマンドでrubyコードを実行してみる

下記コマンドでdocker上のrubyで先ほど作成したtest.rbを実行してみます。

docker run --rm -v "$PWD":/usr/src/docker-rails-test -w /usr/src/docker-rails-test ruby:2.3.1 ruby test.rb

このコマンドでコンテナを作成することが可能です。
コンテナは作成すると永遠に残り続けるのですが、–rmをつけることで、コマンド実行後コンテナを削除することが可能です。(一時的にコンテナを作成したい時に有効なオプションですね。)
また、-vをつけることでホストコンピュータとdocker上のフォルダを共有フォルダとして設定することが可能です。
今回は
【”$PWD”:/usr/src/docker-rails-test】
としましたが、
【ホストマシンフォルダ:docker上のフォルダ】
でマウントしています。
-wはワーキングフォルダを設定するためのオプションでdocker上の/usr/src/docker-rails-testで作業をしたいため、このオプションをつけております。

その後ろに、イメージ名である「ruby:2.3.1」を記述し、その後ろにrubyの実行コマンドを記述しております。

docker run --rm -v "$PWD":/usr/src/docker-rails-test -w /usr/src/docker-rails-test ruby:2.3.1 ls -a
docker run --rm -v "$PWD":/usr/src/docker-rails-test -w /usr/src/docker-rails-test ruby:2.3.1 pwd

などのコマンドを実施すれば理解が深まるかもしれません。

Dockerfileからrubyファイルを実行してみる

dockerは先ほどダウンロードしたruby:2.3.1のイメージをベースにして、様々な環境をカスタマイズすることが可能です。
その設定をDockerfileというファイルに記述し作成するのですが、その作業を行ってみたいと思います。
とりあえず、Dockerfileを作成して、下記のように記述してみます。

vi Dockerfile
FROM ruby:2.3.1

はい。これでDockerFileの準備が完了しました。

Dockerfileをビルドして作成したイメージからrubyコマンドを実行してみる。

さきほど作成したDockerfileをビルドします。

docker build -t my-ruby-app .

これで、my-ruby-appという名前でimageが作成されました。
docker imagesとコマンドを実行すると作成したimageが存在しているのがわかります。

作成したimageからrubyコマンドを実行するために下記コマンドを実行してみます。

docker run --rm -v "$PWD":/usr/src/docker-rails-test -w /usr/src/docker-rails-test  my-ruby-app  ruby test.rb

簡単ですね☆*:.。. o(≧▽≦)o .。.:*☆

おわりに

なんとな〜くですが、Dockerさんと仲良くなれてきた気がします。
今度はDockerfileを編集してrailsを導入したいな〜っと思ってます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です