見出し画像

【初学者向け】RailsとMySQLをDockerizeしてみよう!

はじめに

こんにちは、ウェブ系ウシジマくんです。

この記事では、これまで自分たちのローカル環境に構築していたRailsとMySQLを、1コマンド叩くだけで実行できるようにするための方法を解説していきます。
(※Macでの操作を前提としています。Windows/Linuxのインストール方法も紹介はしていますが、紹介している手順とは異なる場合がありますので、御了承ください)

仮想環境構築ツールの定番となっているDockerですが、昨今の現場でも開発環境にDockerを使っているところが以前よりも多くなっています。

理由としては、Dockerが起動する環境さえあればコマンドを叩くだけで誰でも同一の開発環境を構築ができるからなんですね。

でも、いざ学習をはじめてみても、

「どのあたりに着目してリファレンスを参照すればいいかわからない!」
「英語ばかりで内容が理解できない。。。」

このような理由から挫折仕掛けていませんか?

そんな悩みを抱えているあなたのために書いたのがこのnoteです。

取り扱う内容としては、次のようなラインナップになっています。

• Docker/Dockerfile/Docker composeの概念
• Dockerクライアントの導入方法
• MySQLのセットアップ
• RailsをDockerに適応させる方法
• Dockerfileの書き方
• docker-compose.ymlの書き方
• 最新版のMySQLをDockerで使用する方法
• DockerコマンドでRailsアプリケーションを立ち上げる方法
• SequelProでコンテナ内のデータベースを確認する方法
• dockerのリファレンスの読み方
• dockerコンテナで起動しているRailsプロジェクトのデバッグ方法
• dockerコンテナのmysqlにdumpファイルからデータを挿入する

かなりボリューミーですね(笑)

逆に、Rails自体の解説については取り上げないので、もしまだProgateなどを学習中であれば、先にそちらを一通り学習した後の方が、本記事の内容を理解しやすいと思います。

本記事の内容をやりきった後で、自分なりにDockerfileやdocker-compose.ymlを(調べながらでも)カスタマイズ出来るようになってもらえることが一つのゴールとなります。

また、自分で簡単なアプリケーションをDocker化(以後dockerize)できるスキルがあると、実際の業務でも役に立つことでしょう。

今回は、本題材を進めていくにあたって以下にサンプルとなるRailsアプリケーションを用意しました。

masterブランチはDockerizeする前の状態で、feature/dockerizeブランチは本記事の内容を反映させたものになりますので、上手くいかない時に参考にしてもらえればと思います。

一緒に進めながらやりたい方は、自分のローカルに上記リポジトリをmasterブランチからcloneしてやってみてくださいね。

もし、この記事内でわからないことなどありましたら、以下のLINE@までご連絡いただければ、回答いたしますので、よろしければご登録いただけると嬉しいです。

では早速、Docker を使った構築をしていきましょう!

この続きをみるには

この続き: 29,151文字 / 画像14枚

【初学者向け】RailsとMySQLをDockerizeしてみよう!

ウェブ系ウシジマくん

800円

この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

ありがとうございます!あなたのスキが励みになります。
39
自己破産というドン底から28歳で未経験からプログラミングを学び、2018年4月からウェブ系のフリーエンジニアとしてキャリアスタート。 ITスキルと情報発信で、自由な生活をおくる生き方を実践中。 【公式ブログ】https://yuta-u.com

この記事が入っているマガジン

プログラミング
プログラミング
  • 2本
コメント (12)
ブシトラさん

遅くなりました!
おや、成功しないですか。。
具体的にはどんな結果になりますでしょうか??
ウシジマくんさん

Qiitaにまとめてみましたのでご確認頂ければと思います。(限定共有公開なのでソースコードの漏れはないようにしています。)

https://qiita.com/busitora2/private/8f2d91edf6395c9128e0
ブシトラさん
遅くなりました!
こちらなんですが、一度dockerイメージ自体を削除してから、再度実行
しても同じ現象になりますでしょうか??
コメントありがとうございます。そうですね、、、ですがわざわざ8系でやる必要性を感じなかったので5系で試したところ、mysqlのエラーは乗り越えましたので、自己解決しました。
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。