JavaでWebアプリ制作を学習してみよう。- ブレイクタイム –

JavaでWebアプリ制作を学習してみよう。- Docker MySQL を H2データベースに変更してみる –

JavaでWebアプリ制作を学習してみよう。- Dockerで動作するSpring Boot アプリの開発 –

JavaでWebアプリ制作を学習してみよう。- MySQL CentOS7 on VirtualBox データベースに接続 –

JavaでWebアプリ制作を学習してみよう。- データベースの利用 –

JavaでWebアプリ制作を学習してみよう。- Spring MVC –

JavaでWebアプリ制作を学習してみよう。- Maven or Gradle –

JavaでWebアプリ制作を学習してみよう。-その後-

開発用PC(HP Desktop 400)の HDD を SSD への交換とディスプレイ接続をDisplayport-HDMIに変更した。

JavaでWebアプリ制作を学習してみよう。-開発環境構築編-

ドローン制御の勉強をしてみようーその後

Laravel6でWebアプリ制作を学習してみた。

Webブラウザでマルチタッチ操作できるコントローラーを作成してみています。

WebブラウザからRaspberry Piに接続されたWebカメラで見ながらモーターとLEDを動かしてみた

秋月電子で購入した「0.96インチ128×64ドット有機ELディスプレイ(OLED)」をGR-KURUMIに繋げて動かしてみた。

初めてハッカソンに参加して来ました。

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その2

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その1

mariaDB(MySQL)にLibreOfficeのBASEで繋げてデータベース操作の効率化を図ってみた

windows10にVurtualBox6でUbuntu18.04をインストールしてLAMP環境が使えるようにする

windows10にVurtualBox6でCentOS7をインストールしてほどほど使える環境まで整えてみた

raspberryPiでcakePHPフレームワークを使ってみる

raspberryPiにckaePHPフレームワークを導入してみた。~メモ~

raspberryPiにapache+PHP+mySqlを導入してみた。

秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリにフォントを追加

Monacaを使って作成したandroidアプリを Android Studio と Cordova 開発環境で同じものを作成してみた。

今あるものだけで作ったGPSリアルタイムマップをandroidアプリにしてみた

今あるものだけで作ったGPSリアルタイムマップを車に積んで試してみた

今あるものだけでGPSリアルタイムマップを作ってみた

GR-KURUMI+WIZ550ioシールドを使ってXPORTみたいなものを作ってみた

昔作ったAndroidアプリプログラムを最新の開発環境 Android Studio でビルド&実行を出来るようにしてみた

最新のAndroidアプリ開発環境 Android Studio を入れてみた

自由研究:DisplayTech社製モノクロLCD(128 x 64)を u8g2ライブラリで ME-ESP32に繋げて動かしてみた

自由研究:XY座標モニターを Webアプリ形式(ESP32)で作成してみた

自由研究:XY座標モニターを Webアプリ形式(node.js)で作成してみた

自由研究:秋月電子で購入のSHARP_LCD(400×240モノクロ)を ME-ESP32で動かしてみた 自作ライブラリ使用

自由研究:XY座標動作モニターを Raspberry Pi Zero の電源Onで起動しプログラム終了で電源Offを試してみた

自由研究:Python(Anaconda)を使ってプログラムを作ってみる その11 XY座標動作モニター on Raspberry Pi Zero

自由研究:秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリ使用

XY座標モニタープログラムの開発

自由研究:Raspberry Pi Zero に nodejs 環境を最新にしたメモ

ドローン制御の勉強をしてみようー4回目

自由研究:Raspberry Pi Zero インストールメモ

Python(Anaconda)を使ってプログラムを作ってみる その10 XY座標動作モニター

No Image

Python(Anaconda)を使ってプログラムを作ってみる その9 XY座標動作モニター

JavaでWebアプリ制作を学習してみよう。- ブレイクタイム –

JavaでWebアプリ制作を学習してみよう。- Docker MySQL を H2データベースに変更してみる –

JavaでWebアプリ制作を学習してみよう。- Dockerで動作するSpring Boot アプリの開発 –

JavaでWebアプリ制作を学習してみよう。- MySQL CentOS7 on VirtualBox データベースに接続 –

JavaでWebアプリ制作を学習してみよう。- データベースの利用 –

JavaでWebアプリ制作を学習してみよう。- Spring MVC –

JavaでWebアプリ制作を学習してみよう。- Maven or Gradle –

JavaでWebアプリ制作を学習してみよう。-その後-

開発用PC(HP Desktop 400)の HDD を SSD への交換とディスプレイ接続をDisplayport-HDMIに変更した。

JavaでWebアプリ制作を学習してみよう。-開発環境構築編-

ドローン制御の勉強をしてみようーその後

Laravel6でWebアプリ制作を学習してみた。

Webブラウザでマルチタッチ操作できるコントローラーを作成してみています。

WebブラウザからRaspberry Piに接続されたWebカメラで見ながらモーターとLEDを動かしてみた

秋月電子で購入した「0.96インチ128×64ドット有機ELディスプレイ(OLED)」をGR-KURUMIに繋げて動かしてみた。

初めてハッカソンに参加して来ました。

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その2

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その1

mariaDB(MySQL)にLibreOfficeのBASEで繋げてデータベース操作の効率化を図ってみた

windows10にVurtualBox6でUbuntu18.04をインストールしてLAMP環境が使えるようにする

windows10にVurtualBox6でCentOS7をインストールしてほどほど使える環境まで整えてみた

raspberryPiでcakePHPフレームワークを使ってみる

raspberryPiにckaePHPフレームワークを導入してみた。~メモ~

raspberryPiにapache+PHP+mySqlを導入してみた。

秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリにフォントを追加

Monacaを使って作成したandroidアプリを Android Studio と Cordova 開発環境で同じものを作成してみた。

今あるものだけで作ったGPSリアルタイムマップをandroidアプリにしてみた

今あるものだけで作ったGPSリアルタイムマップを車に積んで試してみた

今あるものだけでGPSリアルタイムマップを作ってみた

GR-KURUMI+WIZ550ioシールドを使ってXPORTみたいなものを作ってみた

昔作ったAndroidアプリプログラムを最新の開発環境 Android Studio でビルド&実行を出来るようにしてみた

最新のAndroidアプリ開発環境 Android Studio を入れてみた

自由研究:DisplayTech社製モノクロLCD(128 x 64)を u8g2ライブラリで ME-ESP32に繋げて動かしてみた

自由研究:XY座標モニターを Webアプリ形式(ESP32)で作成してみた

自由研究:XY座標モニターを Webアプリ形式(node.js)で作成してみた

自由研究:秋月電子で購入のSHARP_LCD(400×240モノクロ)を ME-ESP32で動かしてみた 自作ライブラリ使用

自由研究:XY座標動作モニターを Raspberry Pi Zero の電源Onで起動しプログラム終了で電源Offを試してみた

自由研究:Python(Anaconda)を使ってプログラムを作ってみる その11 XY座標動作モニター on Raspberry Pi Zero

自由研究:秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリ使用

XY座標モニタープログラムの開発

自由研究:Raspberry Pi Zero に nodejs 環境を最新にしたメモ

ドローン制御の勉強をしてみようー4回目

自由研究:Raspberry Pi Zero インストールメモ

Python(Anaconda)を使ってプログラムを作ってみる その10 XY座標動作モニター

No Image

Python(Anaconda)を使ってプログラムを作ってみる その9 XY座標動作モニター

JavaでWebアプリ制作を学習してみよう。- ブレイクタイム –

JavaでWebアプリ制作を学習してみよう。- Docker MySQL を H2データベースに変更してみる –

JavaでWebアプリ制作を学習してみよう。- Dockerで動作するSpring Boot アプリの開発 –

JavaでWebアプリ制作を学習してみよう。- MySQL CentOS7 on VirtualBox データベースに接続 –

JavaでWebアプリ制作を学習してみよう。- データベースの利用 –

JavaでWebアプリ制作を学習してみよう。- Spring MVC –

JavaでWebアプリ制作を学習してみよう。- Maven or Gradle –

JavaでWebアプリ制作を学習してみよう。-その後-

開発用PC(HP Desktop 400)の HDD を SSD への交換とディスプレイ接続をDisplayport-HDMIに変更した。

JavaでWebアプリ制作を学習してみよう。-開発環境構築編-

ドローン制御の勉強をしてみようーその後

Laravel6でWebアプリ制作を学習してみた。

Webブラウザでマルチタッチ操作できるコントローラーを作成してみています。

WebブラウザからRaspberry Piに接続されたWebカメラで見ながらモーターとLEDを動かしてみた

秋月電子で購入した「0.96インチ128×64ドット有機ELディスプレイ(OLED)」をGR-KURUMIに繋げて動かしてみた。

初めてハッカソンに参加して来ました。

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その2

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その1

mariaDB(MySQL)にLibreOfficeのBASEで繋げてデータベース操作の効率化を図ってみた

windows10にVurtualBox6でUbuntu18.04をインストールしてLAMP環境が使えるようにする

windows10にVurtualBox6でCentOS7をインストールしてほどほど使える環境まで整えてみた

raspberryPiでcakePHPフレームワークを使ってみる

raspberryPiにckaePHPフレームワークを導入してみた。~メモ~

raspberryPiにapache+PHP+mySqlを導入してみた。

秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリにフォントを追加

Monacaを使って作成したandroidアプリを Android Studio と Cordova 開発環境で同じものを作成してみた。

今あるものだけで作ったGPSリアルタイムマップをandroidアプリにしてみた

今あるものだけで作ったGPSリアルタイムマップを車に積んで試してみた

今あるものだけでGPSリアルタイムマップを作ってみた

GR-KURUMI+WIZ550ioシールドを使ってXPORTみたいなものを作ってみた

昔作ったAndroidアプリプログラムを最新の開発環境 Android Studio でビルド&実行を出来るようにしてみた

最新のAndroidアプリ開発環境 Android Studio を入れてみた

自由研究:DisplayTech社製モノクロLCD(128 x 64)を u8g2ライブラリで ME-ESP32に繋げて動かしてみた

自由研究:XY座標モニターを Webアプリ形式(ESP32)で作成してみた

自由研究:XY座標モニターを Webアプリ形式(node.js)で作成してみた

自由研究:秋月電子で購入のSHARP_LCD(400×240モノクロ)を ME-ESP32で動かしてみた 自作ライブラリ使用

自由研究:XY座標動作モニターを Raspberry Pi Zero の電源Onで起動しプログラム終了で電源Offを試してみた

自由研究:Python(Anaconda)を使ってプログラムを作ってみる その11 XY座標動作モニター on Raspberry Pi Zero

自由研究:秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリ使用

XY座標モニタープログラムの開発

自由研究:Raspberry Pi Zero に nodejs 環境を最新にしたメモ

ドローン制御の勉強をしてみようー4回目

自由研究:Raspberry Pi Zero インストールメモ

Python(Anaconda)を使ってプログラムを作ってみる その10 XY座標動作モニター

No Image

Python(Anaconda)を使ってプログラムを作ってみる その9 XY座標動作モニター

JavaでWebアプリ制作を学習してみよう。- Dockerで動作するSpring Boot アプリの開発 –

2021年3月29日

前回は Spring Boot アプリで CentOS7 on VirtualBox で動作中の 「MySQL」データベースを使用してみました。

今回は CentOS7 on VirtualBox に Docker を導入し Docker 管理下で「MySQL」「Spring Boot App」「Nginx」を稼働させたWebシステムを作成し、「Spring Boot App」を Windows10上での sts4 で「リモートデバッグ」「ホッドリロード」を行えるWebアプリ開発を体験してみた。

今回は sts4でのWebアプリの開発の学習を含めながら Docker の学習へと広がってしまいました。
なぜこのようなことになったかというと

sts4で作成したWebアプリを実際にインターネット上で稼働させるにはどうすればいいかなぁ?とちょっと先のことを考えるようになってしまう。
Laravel(PHP)の時は無理くりすれば今契約しているレンタルサーバで試しの稼働を出来たのですがSpring Boot(Java)のWebアプリはそうは行かない。
レンタルサーバではなく最低でもクラウドサーバ(最低でもroot権限がある仮想サーバ)に契約が必要だろうなぁ。
今はクラウドサーバの契約は行う予定はないがLinux(CentOS or Ubuntu)サーバ上で動かす方法を学んでおこう。と思い立つ。

そこで、ちょこっとネットで調べてしまったのがことの始まりでした。
※今やっていることの見通しがついてきたら次のその先のことを考えてしまうのが私の悪い癖。(刑事ドラマの言い回しぽく)

その検索の中で私が知りたかったことを実践的なひな形として使えそうなサンプルとその解説を書かれているサイトを見つけてしまったのです。
これは学習して習得しておこうと判断し、このサイトの記事に従い自分の環境下で動かし体験して勉強をしたというわけです。

そのサイトはこちら

私は、以下のような環境下でサンプルと説明を読みながら構築し体験してみた。

サイトのサンプルと説明を順に進んでいけば自身の環境下で再現することができました。
途中若干のトラブルには見舞われましたがクリアしました。

読むだけでなく実際に動くものを手元で体験できるのはうれしい。
動くソースコードを読み、そして変更して試すことが出来るので実践的な勉強になりました。※ハンズオン

CentOS7 on VirtualBox で Dockerで動作しているWebアプリに Windows10で動かしているsts4にプロジェクトを開いておき、ブレークポイント設定してリモートデバッグをしたり、ソースコードの変更後ビルド・再起動が出来てリモートデバッグが続行出来たりと実機に近い環境での開発とデバッグが出来るのもありがたい。

私は次のことも試し、自分なりに展開してみました。

  • http://192.168.1.244:8080でアクセスしてもちゃんと画面が表示させた。
    ※どうせならこちらもちゃんと表示したいなぁと思ってしまったため。
    問い合わせ一覧を表示するページの作成した。
    ※MySQL Workbench で確認するのが面倒になってしまったため。
  • このWebアプリを MySQLからH2データベースに変更しWindows10上のsts4だけでSpring Boot Webアプリが動作するようにしてみた。
    ※手元のWindowsPCだけのスモール環境でSpring Boot Webアプリを開発し、Linux、Docker、MySQLを使用する実機環境への移行が容易かどうかの検証のため。

 

http://192.168.1.244:8080で表示(お問合せ一覧追加)

リモートデバッグ(ブレークポイント)

MySQL WorkBench

 

上記に紹介したサイトでサンプルが提供され、わかりやすい説明が書かれているので重複する説明は書きませんが、

  • ssl証明書によるhttpsアクセス(オレオレ証明書ではあるが...)
  • Dockerを使ったサーバ構築
  • sts4でのリモートデバッグ&ホットリロード

 

など、http(s)プロキシサーバ(Nginx)・Webアプリサーバ(Spring Boot / sts4)・データベースサーバ(MySQL)を一つにまとめてあって新技術の使い方を実践的に書かれていたので感動してしまった。
今までは、Linux(Ubuntu or SentOS)上に直接apache(Webサーバ)、MySQLやMariaDB(データベースサーバ)を直接立ち上げ Laravel(PHP)でWebアプリを作成していました。Dockerの利便の良さを実感しました。今後はDockerを使って行こうと思う。