このページで解説している内容は、以下の 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/docker | docker用の作業ディレクトリに移動します。 |
| mkdir ruby | Ruby用のプロジェクトフォルダを作成します。 |
| 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🧠 定義内容の解説
| 項目 | 内容 |
|---|---|
| services | Docker 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.rbhello_world.rb の内容
# hello_world.rb
# "Hello world!"というメッセージを表示する
puts "Hello world!"| Ruby構文 | 説明 |
|---|---|
| puts | 標準出力に文字列を表示します。 |
| # | コメントを表し、実行時には無視されます。 |
🚀 コンテナの起動

Rubyコンテナを起動するには、次のコマンドを実行します。
docker compose up -d| オプション | 説明 |
|---|---|
| up | compose.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 | 起動中のコンテナ内でコマンドを実行します。 |
| ruby | compose.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の魅力です✨
