このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Docker超入門:開発環境コンテナ:Ruby

🐳 開発環境コンテナ:Ruby

ここでは、Docker Composeコマンドを使ってRubyコンテナを構築する方法を紹介します。
 Rubyの特徴や基本操作、compose.yamlファイルの構成、コンテナの実行までを順番に解説していきます。

💎 Rubyとは

 Rubyは、日本人エンジニアの松本行弘(Matz)によって1995年に開発されたオブジェクト指向スクリプト言語です。
プログラマーが気持ちよく書ける言語」を目指しており、
シンプルで読みやすく、柔軟性が高いのが特徴です。

特徴内容
シンプルな文法英語のような自然な書き方でコードが書ける。
オブジェクト指向すべてがオブジェクトとして扱われる。
動的型付け柔軟で素早い開発が可能
豊富なライブラリgemで簡単に機能を追加できる。
Web開発に強いRuby on Railsで高速開発が可能

RubyはWeb開発(Ruby on Rails)だけでなく、
自動化スクリプト、データ処理、サーバー管理などにも幅広く利用されています。

URL:https://www.ruby-lang.org/ja/

⚙️ Rubyコンテナの作成

ここからは実際にDocker Composeを使ってRubyの開発環境を構築していきましょう。

🧹 作業前のクリーンアップ

まずは環境をキレイに整えておきます。
古いコンテナや不要なボリュームを削除しておくと、動作確認がスムーズになります。

実行するコマンドは次の通りです。

docker system prune -a --volumes
オプション説明
-a未使用のすべてのイメージを削除します。
--volumes使われていないボリュームも削除します。

このコマンドを実行すると、
Are you sure you want to continue? [y/N] と聞かれるので、y を入力して続行します。

実行結果

PS C:\Users\joeac> docker system prune -a --volumes
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all anonymous volumes not used by at least one container
  - all images without at least one container associated to them
  - all build cache

Are you sure you want to continue? [y/N] y

💡 補足:Docker DesktopでもOK!
GUI操作が得意な人は、Docker Desktopを使っても同じことができます。

📂 compose.yaml の作成

Docker Composeを使うためには、サービス構成を記述した compose.yaml ファイルが必要です。
まずは作業ディレクトリを準備しましょう。

ディレクトリの作成と移動

PowerShellで次のコマンドを順に実行します。

cd desktop/docker
mkdir ruby
cd ruby
コマンド説明
cd desktop/dockerdocker用の作業ディレクトリに移動します。
mkdir rubyRuby用のプロジェクトフォルダを作成します。
cd ruby作成したrubyディレクトリに移動します。

実行結果

PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker> mkdir ruby

    Directory: C:\Users\joeac\Desktop\docker

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          2025/10/19    12:34                ruby

PS C:\Users\joeac\Desktop\docker> cd ruby
PS C:\Users\joeac\Desktop\docker\ruby>

VSCodeでcompose.yamlを作成

VSCodeを開いて編集していきます。

code compose.yaml

以下の内容を入力して保存します👇

services:
  ruby:
    image: ruby:3.0.6
    container_name: ruby_container
    tty: true
    volumes:
      - ./src:/src

🧠 定義内容の解説

項目内容
servicesDocker Composeで定義するサービス一覧。ここではrubyのみ。
rubyサービス名(任意)。この名前でコンテナを呼び出します。
image使用するDockerイメージ。ここでは公式の ruby:3.0.6 を利用。
container_nameコンテナ名を明示的に ruby_container に指定。
tty: true標準入出力を割り当てて、対話モード(IRBなど)で操作可能にします。
volumesホストの ./src ディレクトリをコンテナ内の /src にマウントします。

💡 ポイント

この設定により、ホスト側で作成したRubyプログラムを、
コンテナ内からそのまま実行できます。開発がラクになります!

💾 Rubyプログラムの準備

次に、Rubyのソースコードを格納するディレクトリを作りましょう。

mkdir src

実行結果

PS C:\Users\joeac\Desktop\docker\ruby> mkdir src

    Directory: C:\Users\joeac\Desktop\docker\ruby

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          2025/10/19    12:36                src

その中に hello_world.rb ファイルを作成します。

code ./src/hello_world.rb

hello_world.rb の内容

# hello_world.rb
# "Hello world!"というメッセージを表示する
puts "Hello world!"
Ruby構文説明
puts標準出力に文字列を表示します。
#コメントを表し、実行時には無視されます。

🚀 コンテナの起動

Rubyコンテナを起動するには、次のコマンドを実行します。

docker compose up -d
オプション説明
upcompose.yamlの内容をもとにコンテナを起動します。
-dバックグラウンド(デタッチド)モードで実行します。

実行結果

PS C:\Users\joeac\Desktop\docker\ruby> docker compose up -d
[+] Running 8/8
 ✔ ruby Pulled                                                                   23.2s
(省略)
[+] Running 2/2
 ✔ Network ruby_default      Created                                              0.1s
 ✔ Container ruby_container  Started                                              2.3s
PS C:\Users\joeac\Desktop\docker\ruby>

これでRubyコンテナが立ち上がりました!

💬 Rubyプログラムの実行

コンテナ内でRubyプログラムを実行してみましょう。

docker compose exec ruby ruby /src/hello_world.rb
コマンド構文説明
docker compose exec起動中のコンテナ内でコマンドを実行します。
rubycompose.yamlで定義したサービス名。
ruby /src/hello_world.rbコンテナ内でRubyインタプリタを起動し、hello_world.rbを実行します。

実行結果

PS C:\Users\joeac\Desktop\docker\ruby> docker compose exec ruby ruby /src/hello_world.rb
Hello world!

🎉 成功です!
これで、Rubyの開発環境コンテナが完成しました。

✅ まとめ

ステップ作業内容
不要なDockerオブジェクトを削除(docker system prune -a --volumes)
rubyディレクトリを作成し、compose.yamlを定義
srcディレクトリにRubyプログラムを保存
docker compose up -d でコンテナを起動
docker compose exec ruby ruby /src/hello_world.rb で実行

このように、Docker Composeを使えば、RubyをPCに直接インストールせずに、
すぐに動く開発環境を構築できます。
一度設定すれば、どの環境でも同じ状態を再現できるのがDockerの魅力です✨