DockerでMySQLを起動して、Intelij IDEAにdockerプラグインを導入して接続する方法を紹介します。画像多めです。
##作業環境
OS:Windows 10
エディション:HOME
バージョン:2004
##事前準備
###①Windowsを最新版にアップデートする
下記のサイトを参考に、Windows 10 HOMEの場合は必ず最新版までアップデートしておきます。
https://www.atmarkit.co.jp/ait/articles/1701/07/news037.html
最新版になるまで、何回もやる可能性があります。下のような画面になれば、OKです。
###②IntelliJ IDEAのインストールする
以下のサイトを参考にIntelliJ IDEAの Community Edition をインストールし、日本語化します。
https://sukkiri.jp/technologies/ides/intellij-idea/intellij-idea-win.html
※Editionが2つあるので、注意してください。
###③Dockerをインストールする
以下のサイトを参考に、Dockerをインストールします。
https://techracho.bpsinc.jp/ebi/2020_03_27/90477
Windows 10 HOMEの場合は、インストール方法が特殊なので、下記のサイトを参考にインストールしてください。
https://tech.guitarrapc.com/entry/2020/04/21/034236
###④Dockerの設定
Dockerのインストールが終わったら、起動して、上の歯車のアイコンを押して、設定を開きます。
「General」の中にある「Expose daemon on …」をオンにし、下にある「Apply & Restart」を押します。
※Dockerの画面が出ない場合は、ここからアクセスします。
##サンプルソースをダウンロードする
今回は下記のサイトから、サンプルコードをダウンロードします。
https://github.com/miyabayt/spring-boot-doma2-sample
下の画像にように、「Clone or download」という緑のボタンを押すと、下のような画面が出てくるので、「Download ZIP」を押してダウンロードします。
ZIPファイルをダウンロードして、デスクトップなどに解凍してから、Cドライブ直下に移動してください。
私の環境下では、Cドライブ直下に解凍すると、下記のように解凍されました。元のフォルダの構成がとは異なるので、エラーの原因になります。上記の画像と同じ構成になるように解凍してください。
##IntelliJ IDEAにプラグインを導入する
事前準備が完了したら、IntelliJ IDEAに4つプラグインを導入します。
###①Lombok pluginをインストールする
「構成」→「プラグイン」を押します。
下記のような、プラグインを追加する画面に変わります。
赤枠で囲ったところに「Lombok」と入力すると プラグインが表示されるので、インストールボタンを押して、インストールします。
###②Eclipse Code Formatterをインストールする
次に「Eclipse Code Formatter」と入力すると プラグインが表示されるので、インストールボタンを押して、インストールします。
###③Dockerをインストールする
次に「Docker」と入力すると プラグインが表示されるので、インストールボタンを押して、インストールします。
###④Python Community Editionをインストールする
次に「Python Community Edition」と入力すると プラグインが表示されるので、インストールボタンを押して、インストールします。
※このプラグインはIntelliJ IDEAからおすすめされて入れたので、不要の可能性もあります。
プラグインのインストールが終わったら、OKを押すと前の画面に戻ります。
##導入したプラグインを設定する
次にプラグインの設定をしていきます。
「構成」→「設定」を押し、設定の画面を開きます。
###①Lombok pluginの設定
左側の「ビルド、実行、デプロイ」を押し、「コンパイラー」を開き、その中の「注釈プロセッサー」を押します。
右側の画面が変わるので、「注釈処理を使用可能にする」にチェックを入れ、上の画面のようになればOKです。
###②Eclipse Code Formatterの設定
左側の「その他の設定」→「Eclipse Code Formatter」を押します。
右側の画面が変わるので、「Use the Eclipse code formatter」にチェックを入れ、「Eclipse Java Formatter config file」の右の「参照」を押すと、ファイル選択の画面が出てきます。
先程解凍した「spring-boot-doma2-sample-master」というフォルダを開き、その中の「eclipse-formatter.xml」を選びます。
eclipse-formatter.xmlまでのパスは、Cドライブ直下に「spring-boot-doma2-sample-master」がある場合は、下記の通りになります。
C:\spring-boot-doma2-sample-master\eclipse-formatter.xml
###③Dockerの設定
左側の「ビルド、実行、デプロイ」を押し、「Docker」を押します。
「TCPソケット」を選び、接続が完了すればOKです。
接続できない場合は、まずはDockerが起動しているかどうか確認してください。
以上でプラグインの設定は終了です。
##IntelliJ IDEAの設定を変更する
プラグインの設定が完了したら、IntelliJ IDEAの設定を変更していきます。
###①bootRunを実行している場合でもビルドされるようにする
Intellij上で「Ctrl+Shift+A」を押すと、小さい画面が出てくるので、「レジストリー」と入力します。
すると下に「レジストリー」と出てくるので、ここを選びます。
「compiler.automake.allow.when.app.running」という項目探して、右側のチェックボックスにチェックを入れます。終わったら、「閉じる」を押します。
###②コンソール出力の文字化けを防ぐ
Windowsの場合は、コンソール出力が文字化けするため、C:¥Program Files¥JetBrains¥IntelliJ Idea xx.x.x¥binの中にある「idea64.exe.vmoptions」というファイルを開きます。
一番下の行に「-Dfile.encoding=UTF-8」を追記して保存します。
###③Java11を設定する
「構成」→「プロジェクト構造」を選びます。
設定が開くので、「プロジェクト設定」→「プロジェクト」を開き、「プロジェクトSDK」と「プロジェクト言語レベル」をそれぞれ、「11」を選びます。
もし、「プロジェクトSDK」で「11java version “11.0.7”」といった項目が出ない場合は、以下のページより「Java SE 11 (LTS)」の「JDK Download」からダウンロードして、インストールしてください。
https://www.oracle.com/java/technologies/javase-downloads.html
※詳しいインストール手順が必要な場合はこちらを参考にしてみてください。
https://sukkiri.jp/technologies/processors/jdk/jdk-win_install.html
##DockerでMySQLを起動する
###初回起動の場合
初回起動の場合は、以下の手順でMySQLを起動します。
###①docker-compose.ymlが存在するフォルダを確認する
サンプルコードの中には、DockerでMySQLを起動するための設定ファイル「docker-compose.yml」が含まれています。
Cドライブ直下に「spring-boot-doma2-sample-master」がある場合は、「C:\spring-boot-doma2-sample-master\docker」にあります。
###②Windows Power Shell を管理者権限で起動する
Dockerにコンテナなどを追加するので、タスクバーのwindowsマークの上で右クリックして、Windows Power Shell を管理者権限で起動します。
##③Windows Power ShellからDockerのMySQLを起動する
急にWindows Power Shellが出てきて、難しそうですが、入力するのは以下の2行だけです。
cd C:\spring-boot-doma2-sample-master\docker
docker-compose up
先程の「docker-compose.yml」というファイルが存在するフォルダまで移動します。Cドライブ直下に「spring-boot-doma2-sample-master」がある場合は、以下のようになります。
cd C:\spring-boot-doma2-sample-master\docker
“docker-compose”というコマンドが使えるかどうかを確かめるために、以下のように入力します。
docker-compose --version
以下のようにバージョンが表示されればOKです。
docker-compose version 1.25.5, build 8a1c60f6
次に以下のように入力して、MySQLを起動します
docker-compose up
エラーが出てうまく行かない場合は、docker-compose.ymlが存在するフォルダまで移動してから、上記のコードを実行しているかどうか、確認してください。
このコマンドが終了すると、Dockerの画面が下記のように変わります。
簡単にDockerでMySQLを起動することができますね。
###2回目以降
Dockerを起動します。Dockerの画面が出ない場合は、ここからアクセスします。
白いクジラのアイコンの上で右クリックをして、「Dashboard」を選びます。
Dockerの画面が出てきたら、赤枠で囲った▶部分を押します。
MySQLが出てくるので、赤枠で囲ったボタンを押すと、サーバーの起動が始まります。
下の画面が出てくればOKです。
##Dockerで起動したMySQLに、Intelij IDEAを接続する
Intelij IDEAを起動して、「オープンまたはインポート」を選びます。
Cドライブ直下に解凍した「spring-boot-doma2-sample-master」を選び、OKを押します。
下のような画面が出てくるので、「サービス」を選びます。
画面が変わると「Docker」が出てくるので、選ぶと接続が始まります。
接続が完了すると、以下のような画面になります。
以上で、Dockerで起動したMySQLに、Intelij IDEAで接続することができました。
##サンプルコードを動かす
ここからは、サンプルコードを動かしていきます。
サンプルコードを動かす前に、プラグインの設定とJavaの設定を確認してください。
確認が終了したら、Intelij IDEAの「ターミナル」を開きます。
###①バージョン確認
ターミナルが起動したら、以下のように入力します。
cd C:\spring-boot-doma2-sample-master
次に、以下のようにコードを入力します。
gradle -v
以下のように、バージョンが表示されます。
------------------------------------------------------------
Gradle 6.3
------------------------------------------------------------
Build time: 2020-03-24 19:52:07 UTC
Revision: bacd40b727b0130eeac8855ae3f9fd9a0b207c60
Kotlin: 1.3.70
Groovy: 2.5.10
Ant: Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM: 11.0.7 (Oracle Corporation 11.0.7+8-LTS)
OS: Windows 10 10.0 amd64
###②サンプルコードを動かす
次にサンプルコードを動かします。以下のように入力します。
gradlew composeUp
プログラムが終わったら、以下のように入力します。
gradlew :sample-web-admin:bootRun
しばらく待つと、95%で止まりますが、そのままでOKです。
これでアプリが起動したので、http://localhost:18081/adminにアクセスします。
上のような画面が出てきたら、成功です。お疲れさまでした。
この記事は先輩エンジニアからアドバイスを受け、個人ブログから移植しました。おかしいところなどありましたら、ご指摘いただけると幸いです。