Ieeaa5darrew613c7zha

ホスト環境で動いているRailsアプリケーションをDockerに移行しよう!

【中級レベル/4時間】既存のRailsアプリケーションをDockerで動くようにするまでを学び、ミドルウェアの変更や破棄などを簡単に行えるDockerの基礎スキルを身に付ける。

『簡単・高速・自動化』の3つを兼ね備えたDockerの基礎をハンズオンで学ぶ

Dockerはコンテナ仮想化を用いてアプリケーションを開発・配置・実行するためのオープンソースソフトウェアです。

具体的には、以下のような魅力があります。

① 開発環境を簡単に構築できる

Dockerでは、Docker HubというDocker Image を公開しているサービスがあり、そのDocker HubからRubyやMySQL等のDockerイメージをダウンロードして、コンテナを起動することで、いとも簡単にRailsMySQLでの開発環境を用意することができます。

※Docker Imageとは、Dockerコンテナを立ち上げるために必要なもので、コンテナに必要なファイル郡をひとまとめにしたものとなります。

② 高速でデプロイが可能に

ローカル環境と本番環境で同じ構成のコンテナを使用することにより、環境が統一され、デプロイ後に差異がないかを確認する作業や、テスト等の時間を短縮でき、結果的にデプロイを加速させます。

③ インフラ構築をコードで自動化

Dockerではどんなサーバー構成にするか、インストールするライブラリ等はなにかをDockerfileにコードベースで定義することができます。そのため、人的作業やローカル環境と本番環境での差異によって起こるミスをなくし、つまづきやすい環境構築をコマンド一つで実行可能にします。


既存のRailsアプリケーションをDockerで動くようにする実装を通してDockerの基礎スキルを身につける

そこで、本教材はDocker初学者向けに、Dockerのチュートリアルを終えた次のステップとして、ホスト環境で動いているRuby on Rails環境をDockerに移すという内容になっております。その際、Dockerコマンドの裏側でどんな処理が行われているのかを、実際にDockerfileを作成しながら見ていくことで、Dockerの基礎的な部分の理解を深めていきます。

また本教材では、Ruby on Rails環境を対象としておりますが、コンテナ技術ですので一部を変更するだけでLaravelやExpress等でも使えるようになっております。 本教材を経てレベルアップした際には、ぜひそちらにもチャレンジしてみるとよいでしょう。




学習内容

  • Dockerの基礎スキルを学ぶ
  • Dockerfileを利用したRubyコンテナ環境の実装を行う
  • Dockerfileを利用したMySQLコンテナ環境の実装を行う
  • docker-composeを用いてそれぞれのコンテナを1つのアプリケーションとして立ち上げる
  • MySQLコンテナ環境をPostgreSQL環境に変更する実装を行う


本教材における目標物


本教材では、1から自分でMySQLRails2つのDockerコンテナを立ち上げます。画像では、上がMySQLコンテナで下がRailsコンテナとなっています。また、教材内では、最終的にMySQLコンテナ環境をPostgreSQL環境に変更する実装まで行っております。


本教材の対象者

  • 既存のRailsアプリケーションをDocker環境にしてみたい方
  • Dockerを触る機会を得たい方


受講における必要条件

  • Ruby on Railsアプリケーションを作成したことがある
  • 簡単なコマンドラインの知識(mkdirtouchなど)


学ばないこと

本教材ではRuby on Railsに関する内容には触れておりません。あくまでDockerでアプリケーションを動かすことを目的としております。


本教材の対応バージョン

基本的にはどのようなバージョンでも可能ですが、本教材で提供しているサンプルアプリケーションではRails5系を利用しております。


本教材で質問対応可能なOSや環境

  • Mac OS

この教材の執筆者


つなまよ
つなまよ

株式会社クラウドワークスでRailsエンジニアとして働いています。Rails以外にもElasticsearchやKeenなどのデータ分析基盤の保守や検索アルゴリズムの調整などを行っており、幅広く開発を行っております。モブプロやペアプロ等を用いたりしながら社内の若手エンジニアの育成経験もあります。Twitterアカウント@mayoxtuna


本教材のカリキュラム


  1章:Ruby環境をDockerfileで作成してみよう
利用可能
日 購入してから
  2章:MySQL環境をDockerfileで作成してみよう
利用可能
日 購入してから
  3章:docker-composeを定義してRailsアプリケーションを動かそう
利用可能
日 購入してから
  4章:MySQLをPostgreSQLに変更してみよう
利用可能
日 購入してから
  トラブルシュート
利用可能
日 購入してから

今すぐはじめる!