RubyMineとDockerを連携してエディタからDockerを操作する方法

Ruby

RubyMineとDockerを連携し、コンテナの起動やDocker環境のデータベースをRubyMineから実行する方法について紹介します。

今回は以下のようなRailsとMySQLを組み合わせたDocker Compose環境を例として利用します。

今回例として利用するDocker環境

RubyMineとDockerを連携する

RubyMineとDockerを連携するには、Dockerのサポートを有効にする必要があります。
「Preferences」 → 「Build, Execution, Deployment」 → 「Docker」で設定画面を開き、RubyMine上で利用するDocker daemonを選択します。
自分の場合はDocker for Macを利用しているため、「Docker for Mac」にチェックを入れています。

コンテナの起動方法

コンテナの起動(docker-compose up)はdocker-compose.ymlから起動できます。

docker-compose.ymlservicesプロパティの部分にある矢印アイコンをクリックするとdocker-compose upが実行されます。

コンテナのログや起動状態を確認する方法

「View」 → 「Tool Windows」 → 「Services」を選択します。

正常にDocker環境と連携ができているとServices画面にDockerアイコンが表示されます。
Dockerアイコンのタブをクリックすると、起動中のコンテナが表示されます。

コンテナの終了方法

Services画面の左側にあるアイコンをクリックするとコンテナの終了(stop)や削除(down)ができます。

Docker環境のデータベースに接続する方法

「View」 → 「Tool Windows」 → 「Database」を選択し、Database画面にあるData Source Propertiesアイコンをクリックします。

Data Sourcesタブにあるプラスボタンをクリックし、接続するデータベースを選択します。
データベースを選択後、データベース接続情報を入力します。
「Test Connection」をクリックするとデータベースへの接続テストができます。

データベースの中身を確認する方法

データベースと接続すると、Databse画面にテーブルが表示されます。
テーブルをダブルクリックでレコードが確認できます。

SQLは「console」で実行できます。

Refreshアイコンをクリックするとデータベースの情報を更新できます。

まとめ

以上でRubyMineとDockerの連携方法の紹介を終わります。

今回のまとめ
  • RubyMineとDockerの連携はPreferencesのDockerで行う
  • Dockerの起動・停止・終了はServicesウィンドーで行う
  • Docker環境のDB操作はDatabasesウィンドーで行う

Twitter(@nishina555)やってます。フォローしてもらえるとうれしいです!

参考記事

Rubyのオススメ参考書