カテゴリー
サインイン 新規登録
学習時間 4時間
難易度 中級
質問投稿
価格 ¥980
月額 ¥2,980
Unlimited会員はこちらの教材を含む100種類以上のUnlimited対象教材が学び放題

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

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

2.9
最終更新 2020/7
ワラガイ

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

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

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

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

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

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

本教材の対象者

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

受講における必要条件

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

学ばないこと

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

本教材の対応バージョン

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

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

  • Mac OS

カリキュラム

Section 0 ホスト環境で動いているRailsアプリケーションをDockerに移行しよう
Section 1 Ruby環境をDockerfileで作成してみよう
  • 1-1 Ruby環境をDockerfileで作成してみよう
Section 2 MySQL環境をDockerfileで作成してみよう
  • 2-1 MySQL環境をDockerfileで作成してみよう

講師のプロフィール

教材のレビュー

2.9
8件の評価
25%
25%
0%
12%
37%
hujuu 1年以上前
nginx等のwebサーバーの設定はなく、あくまで、開発環境のDocker化だと思って、ご購入することをお勧めします。 本番を想定した構成や特定のクライドサービスにDockerをデプロイするような実践的な内容は含まれていません。
maremare966 1年以上前
Dockerの基礎が学べてよかったです。Webサービス作ってみたけど、Docker使ったことがない人におすすめです。内容も分かりやすかったと思います。Techpit全体に言えることですが、お金を払って利用している教材なので内容は更新してもらいたいです。
イノキ 1年以上前
端的にまとめてありわかりやすかった、Dockerの基礎中の基礎を学びたい人には良い。 Dockerのもう少し深い知識が欲しい人には物足りない内容