Dockerを使ったRuby on railsの環境構築をしました。なかなか苦労したので、備忘録的にまとめます。
①超基礎
そもそもDockerが何か全く知らなかったので、とりあえずYoutubeで動画を見ました。本当のさわりだけ、という感じですが掴みにはいいと思います。
ちなみに1本目の動画を出している山浦さんは、Dockerに限らず分かりやすい動画を色々とアップされているのでオススメです。
②基礎
この記事を読みました。前編、中編、後編とシリーズ化されていますがとりあえずは前編だけでいいと思います。
↓Dockerを使うとどんなメリットがあるか?についてはこのように解釈しました。
チームで開発をするとき、ソースコードを共有しても各々のマシンはOSなどに違いがあるためうまく動作しないことがある。このような場合は実行環境を共有する必要がある。
Dockerを使うとImageを元にコンテナと呼ばれる仮想的な実行環境を起動することができる。Imageを共有することで、マシンに差異があっても同じコンテナ(実行環境)を起動することが可能になる。
③Docker Desktopのインストール
Docker Desktopは、自身のPCでDockerを使うために必要なものです。
下記の記事を参考にしました。Windows版とMac版があります。
-
Docker Desktop インストール手順
ここまでは特に問題なく進みました。
④Ruby on railsの環境構築
いよいよここから本格的な環境構築です。…が、ここでかなり苦労しました。
下記の記事を参考にして進めました。
発生したエラーその1:docker-compose -vがcommand not foundになる
うまくインストールできていないのかな?と思い、いろいろ試してみたがダメでした。
結局、再起動&アンインストールで解消。
発生したエラーその2:docker-compose upのエラー
「Gemfileにnokogiriが無い」旨のエラーが出た為、nokogiriを入れたところ解消。
かなり時間はかかってしまいましたが、環境構築が完了して開発を始めることができました。
全く知らなかったのですが、MacM1チップが影響して環境構築が上手くいかない場合もあるらしいです。。
学んだこと
- エラーメッセージに答えがある
- どうしてもうまくいかないときは再起動もしくは再インストール
今回に限った話では無いのですが、ここを意識することでエラーの解消スピードがアップすると感じました。
コマンドの理解
docker-compose build
Dockerfile(Imageの設計書のようなもの)を実行してImageを立ち上げます。仮想環境を作成するイメージです。
docker-compose up
docker-compose.ymlを実行してコンテナを起動します。開発環境を整えるイメージです。
このコマンドが通れば、localhost:3000でページにアクセス可能になると思います。
コンテナ起動しているかは、Docker Desktop「Containers」の「STATUS」で確認できます。
おわりに
今回はDockerを用いたRuby on railsの環境構築についてまとめました。先輩方や先人達の知恵に頼り、環境を整えることができました。いつか自力で環境構築できるようになるといいなあ…
この記事が参考になると嬉しいです( ̄▽ ̄)