21 Jun 2018, 05:13

Dockerで立ち上げたRails + MySQL 環境をRubyMineで接続

はじめに

Dockerで立ち上げた、Railsサーバ、MySQLサーバに RubyMineから接続する方法を紹介します。

Dockerを利用して、Rails環境をたちあげる手順は、前回の記事を参考にしてください。

RailsサーバにRubyMineで接続

これで実現できることは、ローカルPCに RubyやRailをインストールしてなくても、 リモートにあるDocker内のRubyリモートインタプリタを利用して、RubyMineが動作することだ。

  • 設定 > 言語&フレームワーク > Ruby SDK及びGemを選択。
  • +の追加ボタンを押す。新規リモートを選択。
  • Docker Composeを選択し、以下の図のように設定
    • サーバ: 好きな名前
    • 構成ファイル: ./docker-compose.yml
    • サービス: docker-compose.ymlで定義したサービス名

https://gyazo.com/678a9bcd1d6a9a6d89923067d63640fb

これで、リモートインタプリタとしてDocker内のRubyが利用できる。

MySQLサーバにRubyMineで接続

これで実現できることは、ローカルPCに MySQLをインストールしてなくても、 リモートにあるDocker内のMySQLを利用できる。RubyMineは、DBのための見やすいViewerを提供する。

Docker内で立ち上げたMySQLと、ローカル環境ですでに立ち上げていたMySQLがどちらもPort 3306 を利用していたので、 Dockerが立ち上がらなかった。

docker-complse.ymlを以下のようにして、3306 > 3307にポートフォワーディングする設定を書いた。

db:
  image: mysql:5.5
  volumes:
    - db-volume:/var/lib/mysql
  environment:
    MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
  ports:
    - 3307:3306
  • データベースビューで+の追加ボタンを押す。
  • データ・ソース > MySQLを選択
  • 以下のように設定。

https://gyazo.com/c41c17d670472b824692b6a8d10b0ee6

これで、データベースの中身がグラフィカルに分かるようになりました。

https://gyazo.com/b60d989df0987c5732786d7a14e35abe

おわりに

Dockerのすごさがようやくわかってきたかもしれない。