カテゴリ: Ruby 更新日: 2026/01/12

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ファイルにサービスを定義するだけで、一括で起動できます。


# docker-compose.ymlの例
version: '3'
services:
  app:
    image: ruby:3.2-slim
    volumes:
      - ./app:/app
    command: irb
  db:
    image: postgres:15
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password

この設定で、Rubyの開発環境とPostgreSQLのデータベースを同時に動かせます。初心者でも簡単に複雑な環境を再現できます。

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
データベース
SQLの処理が遅くなる原因とは?初心者向けにデータベースパフォーマンス最適化を完全解説
New2
Ruby
RubyのネストHash操作を徹底解説!digとtransformメソッドで複雑なデータも楽々
New3
Rails
Railsインデックス設計の極意!爆速サイトを作るためのスキーマ設計ガイド
New4
データベース
SQLのCOMMITとROLLBACKとは?トランザクション操作を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Ruby
PATHと環境変数の正しい設定!Windows・Mac・Linux別チェックリスト付き
No.2
Java&Spring記事人気No2
Rails
Railsで日本語と時刻の設定をしよう!初心者でも安心のlocale/zone初期設定チートシート
No.3
Java&Spring記事人気No3
Ruby
Rubyのハッシュを徹底比較!シンボルキーと文字列キーの違いと使い分け
No.4
Java&Spring記事人気No4
Rails
Railsマイグレーションの型選びを完全ガイド!初心者が迷わないカラム設計
No.5
Java&Spring記事人気No5
Ruby
WindowsでRubyをインストールする方法!RubyInstallerとMSYS2を使った完全ガイド
No.6
Java&Spring記事人気No6
Rails
RailsモデルとActive Record基礎|ID戦略を完全理解!AUTO INCREMENT・UUID・ULIDの比較と導入手順
No.7
Java&Spring記事人気No7
Rails
RailsモデルとActive Record基礎|クエリログの読み方を理解してEXPLAIN・joins・includesの違いを学ぼう
No.8
Java&Spring記事人気No8
データベース
ACID特性とは?データベーストランザクションの信頼性を初心者向けに徹底解説