1
1

DockerでRubyの開発環境を構築してみた

Posted at

はじめに

幾度となく煎じられてきたテーマなので、

「そんなん知ってるわ!」

という方はブラウザバック推奨です。

自分は、この議題について煎じたことがありませんので、n番煎じをしようと思います。

背景

先日、Ruby Association Certified Ruby Programmer Silver version 3を取得しました。

  • Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応
  • 公式ドキュメント

上記、2つが手元にあれば、あとは公式の模擬問題集を繰り返すだけで合格できる内容だったと思います。
詳細は、気が乗れば合格体験記として記事にしようと思います。

次の目標として、Ruby Association Certified Ruby Programmer Gold version 3の取得を目指しております。
メソッドを丸暗記で合格できたSilverに対して、Goldではオブジェクト指向プログラミングをはじめ、メタプログラミングという私がこれまで触れたことのない知見が問われる内容となっているので、どうしても手元で操作をしながらインプットしたくなりました。

しかし、ローカル環境に開発環境を構築したくなかったので、今回は手軽にDockerを用いた開発環境を構築しましたので、備忘録としてまとめております。

実行環境

OS: windows 11 pro
docker version: 25.0.2

本文

まず任意のディレクトリを作成します。

$ mkdir ruby_docker
$ cd ruby_docker

次に、Dockerfileを作成します。

$ New-Item Dockerfile
// VS Codeをインストールしている場合は以下を入力
code Dockerfile

// VS Codeをインストールされていない場合
$ notepad Dockerfile

開かれたファイルに以下のテキストを入力。

FROM ruby:3.3-alpine3.19

RUN apk add --no-cache bash

続いて作成したDockerfileを実行するための、docker-compose.ymlを作成。

$ New-Item docker-compose.yml
// VS Codeをインストールしている場合は以下を入力
code docker-compose.yml

// VS Codeをインストールされていない場合
$ notepad docker-compose.yml

次に、作成したdocker-compose.ymlに以下のテキストを入力。

version: '3'
services:
  ruby:
    build: .
    volumes:
      - .:/app
    working_dir: /app

この時点で、Rubyをコマンドラインで実行することは可能ですが、作成したRubyファイルを実行する例も挙げる為に、rbファイルも作成します。

$ New-Item hello.rb
// VS Codeをインストールしている場合は以下を入力
code hello.rb
// VS Codeをインストールされていない場合
$ notepad hello.rb
# hello.rb
puts "Hello, World!"

それでは、実際にDocker上でRubyを実行する。

必ずDockerが起動していることを確認してください。

Dockerの起動が確認出来たら、以下のコマンドを入力。

$ docker-compose run ruby bash

Dockerの起動とともにRubyをshell上で実行されます。
Rubyが正しく実行しているかを確認するために、以下のコマンドを実行してみます。

$ ruby -v
# ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-linux-musl]

Rubyのバージョン確認が取れましたので、実際にファイルを実行してみます。

ruby hello.rb
# Hello, World!

一通り、動作確認が済みましたので、コンテナを削除します。

$ docker-compose down

以上が流れとなります。
お疲れさまでした。

まとめ

今回はRubyを取り上げましたが、このようにDockerを使うことでローカルの開発環境を綺麗な状態を保ったまま開発を進めることができますので、簡単なテストコードの実行の際には試してみてください。

最後まで読んでいただき、ありがとうございます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1