プログラミング

Dockerで「Rails+MySQL」の環境構築

こんにちは、Nanayakuです。

今回は、DockerでRails+PostgreSQLの環境構築を解説で作成した開発環境のdbをMySQLに変更してみたので、その解説をしていきます。

前回作成したファイルの変更点を主に紹介していきます。

Dockerfile

新しく書き加えた「RUN gem install rails」は、いらなかったです。

インストールするデータベースをpostgresqlからmysqlに変更します。

 

Gemfile

Gemfileをpqからmysqlに変更しておかないと、

$ bdocker-compose build

$ docker-compose up

でエラーが出てしまいます。

 

config/database.yml

各設定の意味は以下の通りです。

  • adapter・・・データベースの種類
  • encoding・・・文字コード
  • host・・・ホスト名
  • username・・・ユーザー名
  • password・・・パスワード
  • pool・・・コネクションの上限数

 

docker-compose.yml

imageはDockerHubから選択します。

DockerHubからダウンロードされます。

今回は一番新しいバージョンを選択しました。

また、このページの下にドキュメントの書き方など書いてあるため、基本的にこのドキュメントをコピーします。

volumes」はローカルのフォルダの位置とサーバーの位置を決めています。

volumes:

-ローカル : サーバー

この時、mysql-dataディレクトリを作成しておきます。

ホスト(使用しているMac本体)に保存しておく事で、mysqlのコンテナのデータが飛んでも安心です。

portsは、ローカルのポート(localhost:3000)とコンテナのポートを指定しています。

ports:
- "3000:3000"

 

再構築

上記の設定が完了したら、以下のコマンドを実行すればサーバーを起動できます。

$ docker-compose up --build

しかし、データベースはまだ作成されていないので、以下のコマンドを新しいターミナルを開いて実行します。

$ docker-compose run web rake db:create

 

参考資料

 

公式Dockerドキュメント(RailsとPostgreSQL)

 

最後に

今回作成したサンプルをGitHubにアップしています。

https://github.com/sabakan789/rails_sample

備忘録がわりに作ったので、間違っている所とかあったら、コメントくれると嬉しいです。

-プログラミング
-

Copyright© Nanayaku blog , 2019 All Rights Reserved Powered by AFFINGER5.