カテゴリ: Ruby 更新日: 2026/02/13

DockerでRuby環境を作る!軽量イメージ・Volume・Compose活用ガイド

DockerでRuby環境をつくる:軽量イメージ・Volume・Compose実例
DockerでRuby環境をつくる:軽量イメージ・Volume・Compose実例

先生と生徒の会話形式で理解しよう

生徒

「Rubyの環境を自分のパソコンに直接入れるのは大変ですか?」

先生

「直接インストールするのもできますが、Dockerを使うと簡単に安全なRuby環境を作ることができます。」

生徒

「Dockerって難しそうですが、初心者でも使えますか?」

先生

「はい。Dockerはプログラムを動かすための“箱”を作るツールです。箱の中にRuby環境を入れておけば、パソコンに影響を与えずにプログラムが実行できます。」

1. Dockerとは?

1. Dockerとは?
1. Dockerとは?

Dockerは、アプリを実行するための“専用の箱”を簡単に作れる便利なツールです。この箱(コンテナ)の中には、Ruby本体や必要なライブラリをまとめて入れられるため、パソコンの環境を汚したり設定で悩んだりする心配がありません。また、プロジェクトごとにRubyのバージョンを変えたい場合でも、別々の箱を使うだけで簡単に切り替えられます。

もう少し具体的にいうと、Dockerは「どこでも同じ環境を再現できる」のが最大のメリットです。友だちと同じ設定で学習したいときや、新しいパソコンに買い替えたときでも、一度作ったDocker環境をそのまま使えます。

■ Dockerの動きをイメージしやすいシンプルな例

以下は、Rubyを動かすための最小限の Dockerfile です。箱の中にRubyを入れて用意する、というイメージがつかみやすくなります。


# Dockerfile(Rubyの箱を作るための説明書)
FROM ruby:3.2-slim   # Rubyが入った軽量の箱を用意
WORKDIR /app         # 作業するフォルダを設定
CMD ["irb"]          # Rubyの対話モードを起動

このファイルを使ってコンテナを作ると、どのパソコンでも同じRuby環境が再現できます。「動かない理由が環境の違いだった…」というトラブルを避けられるのも嬉しいポイントです。

■ コンテナを実際に動かしてみる簡単体験

Dockerがインストールされていれば、次のコマンドだけでRubyを動かす箱が作れます。


# DockerfileからRubyコンテナを作る
docker build -t ruby-box .

# 作ったコンテナを起動する
docker run -it ruby-box

すると、IRBが開き、下のようにRubyのコードをそのまま入力できます。


puts "DockerでRubyが動いた!"

DockerでRubyが動いた!

このように、Dockerは「Rubyをどこでも簡単に動かせる魔法の箱」を作るツールだと捉えると理解しやすくなります。初心者でも迷いにくく、安心してRuby学習を進められる基盤になります。

2. 軽量イメージでRuby環境を構築

2. 軽量イメージでRuby環境を構築
2. 軽量イメージでRuby環境を構築

DockerでRuby環境を作るときは、どのイメージを元にするかがとても大事です。イメージとは、「Ruby本体+必要なOSの部品」をまとめたひな型のことです。中でも軽量イメージ(slimイメージなど)を使うと、ダウンロードが速くなり、ディスク容量もあまり使わずに済みます。Ruby学習用の環境をサクッと用意したいときにぴったりです。

以下は、軽量な Ruby 3.2 を使って、シンプルな開発用コンテナを作る Dockerfile の例です。


# Dockerfileの例(Ruby用の軽量コンテナ)
FROM ruby:3.2-slim   # 余計なものを省いた軽量Rubyイメージ
WORKDIR /app         # 作業フォルダを /app に指定

# (必要なら)現在のフォルダのファイルをコンテナにコピー
COPY . .

# Bundlerでライブラリをインストール
RUN bundle install || echo "Gemfileがない場合はこの行はスキップされます"

# コンテナ起動時にIRB(対話モード)を開く
CMD ["irb"]

このDockerfileを使うと、「Ruby 3.2 が入った最小限の環境」を毎回同じ状態で再現できます。ruby:3.2-slimのような軽量イメージは、余計なツールが少ないぶんサイズが小さく、ダウンロード時間も短く済みます。まずはこのようなシンプルな構成から始めて、慣れてきたらライブラリや設定を少しずつ追加していくと、無理なくDockerでRuby開発環境を育てていけます。

3. Volumeでデータを保存する

3. Volumeでデータを保存する
3. Volumeでデータを保存する

Dockerのコンテナは、基本的に「一時的な箱」として扱われます。そのため、コンテナ内だけにデータを保存していると、コンテナを削除した瞬間にすべて消えてしまいます。そこで活躍するのがVolume(ボリューム)です。Volumeを使うと、データをコンテナの外側に保存でき、コンテナを作り直しても内容をそのまま引き継げます。学習中に書いたRubyコードやログを残しておけるので、初心者にとっても安心です。

下の例では、パソコン側の ./app フォルダをコンテナの /app とつなげています。これにより、パソコンで編集したRubyファイルがそのままコンテナ内で使えるようになります。


# docker-compose.yml(Volume を利用したシンプルな構成)
version: '3'
services:
  ruby:
    image: ruby:3.2-slim
    volumes:
      - ./app:/app      # パソコンのファイルをコンテナへ共有
    command: irb         # Rubyの対話モードを起動

■ Volumeの効果を実感する簡単なサンプル

たとえば、パソコン側の app/hello.rb に Rubyコードを書いてみましょう。


# hello.rb
puts "Volumeを使うと、コードが即座にコンテナで使える!"

その状態でコンテナを起動し、IRBの中から次のように実行します。


load "hello.rb"

Volumeを使うと、コードが即座にコンテナで使える!

このように、Volumeを使えば「パソコンで編集 → 保存 → コンテナで即実行」という流れがスムーズにできるようになります。学習効率も上がり、コンテナを消してもファイルが消えないので、とても安心して作業できます。

4. Docker Composeで複数サービスを簡単に管理

4. Docker Composeで複数サービスを簡単に管理
4. Docker Composeで複数サービスを簡単に管理

Docker Composeは、複数のコンテナを「ひとつのセット」として扱える便利なツールです。たとえば、アプリ用のRubyコンテナと、データを保管するデータベースのコンテナを同時に使いたい場合、Composeを使えば1つのコマンドでまとめて起動・停止できます。毎回複雑な設定を覚える必要がなく、初心者でも迷わず環境を再現できるのが大きな魅力です。

下のファイルは、RubyとPostgreSQLを一緒に動かすための最小構成の例です。これを置くだけで、学習用の本格的な開発環境がすぐに立ち上がります。


# docker-compose.yml の例(Ruby + DB のシンプル環境)
version: '3'
services:
  app:
    image: ruby:3.2-slim
    volumes:
      - ./app:/app         # Rubyコードをリアルタイムで共有
    command: irb           # 開発用にIRBを起動

  db:
    image: postgres:15
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password

■ Composeを使うと何がラクになる?

たとえば、次のような「2つ以上のものが必要な開発環境」では効果がよくわかります。

  • Rubyで書いたアプリを動かすコンテナ
  • アプリが使うデータベースのコンテナ

Composeなら、これらを勝手に連携させてくれるので、難しいネットワーク設定を自分で書く必要がありません。起動はとても簡単で、以下の1行だけです。


docker-compose up

すると、Rubyの環境とデータベースが同時に立ち上がり、すぐに開発を始められます。複数のサービスを扱う練習にもなり、本格的なアプリ開発へのステップとしてちょうど良い仕組みです。

5. 実際にRubyコードをDockerで動かす

5. 実際にRubyコードをDockerで動かす
5. 実際にRubyコードをDockerで動かす

まずdocker-compose upを実行すると、Rubyのコンテナが立ち上がります。次にIRBを使ってRubyコードを入力できます。


puts 'Docker上でRubyを実行中!'

Docker上でRubyを実行中!

Volumeを使っているので、コードを編集すると即座にコンテナに反映されます。これにより、パソコン初心者でも簡単にRuby開発が可能です。

6. Docker環境での学習のポイント

6. Docker環境での学習のポイント
6. Docker環境での学習のポイント
  • 軽量イメージを使って高速に環境を構築する
  • Volumeでデータを保持し、コンテナを安心して再作成する
  • Docker Composeで複数サービスをまとめて管理する
  • まずは小さなアプリから始めてDocker操作に慣れる

これらのポイントを押さえることで、パソコン初心者でもDockerで効率よくRuby環境を作り、安心して開発を進められます。

まとめ

まとめ
まとめ

Dockerを利用してRubyの開発環境を構築する方法を振り返ると、軽量イメージを使った高速な環境構築、Volumeでのデータ永続化、そしてDocker Composeによる複数サービスの一括管理など、多くの便利な仕組みを活用できることがわかる。とくに、Rubyのバージョンをプロジェクトごとに変えたい場合や、環境が壊れる心配をせずに学習したい場合はDockerが非常に役立つ。Dockerならパソコン本体にRubyの設定を追加する必要がなく、必要なときだけコンテナを立ち上げれば簡単にRuby環境を再現できる。これは学習者にとっても実務者にとっても大きな魅力であり、柔軟にRubyのアプリケーション開発を進めることができる理由にもなる。 また、軽量イメージでRuby環境を整えることで、不要なファイルを含まない最適な状態のコンテナを使えるため、実際の操作が非常に軽快になる。Railsアプリなどを扱う際にも、最小構成のイメージを使って素早く動作確認ができる点は、多くの学習者にとって大きな利点となる。そして、Volumeを利用することで、コンテナを消してもコードを保持できるため、繰り返し学習してもデータが失われる心配がない。Docker Composeを併用すれば、Ruby環境とデータベースをまとめて動かす構成にも対応できるため、実際のアプリ開発に近い形で学習を進められる。 Dockerを活用した環境構築は、初心者がつまずきやすい依存関係の問題を避けながらRubyを実行できる点でも大きな魅力がある。パソコン環境によって動かない、バージョンが合わないといったトラブルもDockerによって軽減されるため、学びたいことに集中しやすくなる。Rubyの学習を始める人にはもちろん、既に開発を進めている人にも有用であり、安定した環境でコードを書き続けるための助けとなる。こうした理由から、Dockerを利用したRuby環境構築は非常に高い実用性を持ち、長く使える確かなアプローチといえる。

サンプルプログラム:Dockerで動作確認

Docker上でRubyコードが正しく動作しているか確認するための簡単なクラス構文のサンプルを示す。


class DockerRubyCheck
  def initialize
    @text = "DockerのRuby環境が正常に動作しています"
  end

  def show
    puts @text
  end
end

checker = DockerRubyCheck.new
checker.show

このようにclassを用いたRubyコードを実行することで、Docker内部でRubyが正しく動いているかを確かめられる。Composeで立ち上げた環境でも同様に実行できるため、アプリケーションの動作確認に役立つ。軽量イメージ・Volume・Composeを組み合わせることで、安定したRuby開発環境を再現性高く構築できる点は非常に大きな強みである。環境構築に悩む時間を減らし、実際のコード学習に集中するためにも、この方法は有効な選択肢となるだろう。

先生と生徒の振り返り会話

先生

「今日学んだDockerでのRuby環境構築について、どこが便利だと感じましたか?」

生徒

「パソコンにRubyを直接入れなくても、Dockerだけで安全に環境が作れるところがすごく便利でした!Volumeでコードが残るのも助かります。」

先生

「その通りです。環境の違いによるトラブルも減らせるので、学習にも実務にも向いていますよ。」

生徒

「Composeを使えばデータベースも一緒に動かせるのも驚きでした。Rubyアプリの仕組みがもっと理解しやすくなりそうです。」

先生

「学習が進むと、複数のサービスをまとめて管理する場面が増えてきますから、今のうちに慣れておくと後でとても役立ちますよ。」

生徒

「はい!これからはDockerを使ってRubyの練習を続けてみます!」

先生

「いいですね。実際に手を動かしながら覚えていけば、環境構築の不安もなくなっていきますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Dockerとは何ですか?Rubyにどのように使えますか?

Dockerは、プログラムを安全に実行できる「箱」のような環境を作るツールです。Rubyの環境をこの箱の中に入れて管理することで、パソコンに直接影響を与えずにRubyの開発ができます。
関連記事:
カテゴリの一覧へ
新着記事
New1
Ruby
“すべてはオブジェクト”を体感!初心者向けRubyのオブジェクト指向入門【irbで学ぶ】
New2
Ruby
Rubyの標準入出力を完全ガイド!puts・print・pの違いとデバッグ活用法
New3
Ruby
Gemとは?RubyGemsとBundlerを初心者向けに完全解説!依存関係管理も図解でわかりやすく理解
New4
Ruby
Rubyの文字エンコーディング入門!UTF-8・マジックコメント・外部/内部エンコーディングを完全解説
人気記事
No.1
Java&Spring記事人気No1
Ruby
Rubyのreduceとinject入門!合計計算や集計を初心者向けに分かりやすく解説
No.2
Java&Spring記事人気No2
Ruby
Rubyの文字列エンコーディング完全ガイド!Encoding・force_encoding・encodeを初心者向け解説
No.3
Java&Spring記事人気No3
Ruby
Rubyの始め方ガイド:インストールから最初のHello Worldまで(Windows/Mac/Linux)
No.4
Java&Spring記事人気No4
データベース
PostgreSQLのWHERE句を徹底解説!初心者でもわかるSQLデータ抽出の基本
No.5
Java&Spring記事人気No5
Ruby
Rubyのfind/detect/find_indexを徹底解説!目的のデータを素早く探す方法
No.6
Java&Spring記事人気No6
Ruby
Rubyで比較演算子を完全解説!==・===・<=>・eql? の使い分け
No.7
Java&Spring記事人気No7
Ruby
Rubyのselect/reject/filterの使い方を完全解説!初心者向けの条件抽出レシピ
No.8
Java&Spring記事人気No8
データベース
PostgreSQLで順位付け!ROW_NUMBER関数の使い方を初心者向けに徹底解説