このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Docker入門】Spring Bootコンテナ①

Docker Composeコマンドを使ったSpring Bootの開発環境コンテナの構築例を紹介します。
「Spring Bootの開発環境コンテナ」は次の2部に分けて解説していきます。
Spring Boot コンテナの構成
以下のように「Spring Boot」コンテナを構成します。

Spring Boot コンテナのデータはホストマシンの「./demo」ディレクトリにバインドマウントさせます。
ここでは、コンテナの作成に必要な「Spring Boot」のプロジェクトを作成していきます。
「Spring Boot」を動作させるには、少々、複雑な手順を踏む必要があります。必要な手順は以下の通りです。
①「Spring Boot」のプロジェクトを作成
②「Spring Boot」のプロジェクト内のプログラムの修正
③「./mvnw spring-boot:run」コマンドの実行
使用するイメージは、openjdkの公式イメージを使用します。
このイメージを使用することで、わざわざ、Javaの実行環境構築したり、Spring Bootでの開発に使用するSTS(Spring Tool Suite)という統合開発環境をインストールせずに済みます。
Spring Boot(スプリングブート)とは
まず、はじめに Spring Boot(スプリングブート)について簡単に解説します。

Spring Bootは、Javaアプリケーションを迅速かつ効率的に構築するためのフレームワークです。このフレームワークは、Spring Frameworkのパワーと柔軟性を活かしながら、開発者が設定やセットアップに費やす時間を最小限に抑えます。
Spring Bootは、自動構成、統合テストサポート、内蔵サーバーの提供など、開発プロセスをシンプル化する多くの機能を提供しています。そのため、開発者はビジネスロジックに集中し、アプリケーションの迅速な開発とデプロイメントを実現できます。
Spring Bootは、マイクロサービスアーキテクチャやクラウドネイティブアプリケーションの開発に特に適しており、Javaエコシステムで広く採用されています。

①Spring Boot のプロジェクトを作成
Spring Boot プロジェクトを、以下のURL先のWebページで事前に作成しておく必要があります。

下表のように選択して入力していきます。
Spring initializr の設定値
項目 | 値 |
---|---|
Project | Maven |
Language | Java |
Spring Boot | 3.2.5(ここでは、「3.2.5」を指定) |
Group | com.example |
Artifact、Name | demo(デフォルト) |
Package name | com.example.demo |
Packaging | Jar |
Java | 17 |
・「ADD DEPENDENCIES」ボタンをクリックします。

・「Spring Web」をクリックします。

・「GENERATE」をクリックします。
Spring Boot プロジェクトがダウンロードされます。

・ダウンロードしたSpring Boot プロジェクトの demo.zip を解凍します。

②「Spring Boot」のプロジェクト内のプログラムの修正
・「demo」フォルダ内にある以下のファイルを修正します。
demo/src/main/java/com/example/demo/DemoApplication.java

DemoApplication.java
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@RequestMapping("/")
public String hello(){
return "Hello Spring";
}
}
この続きは、「Spring Bootコンテナ②」でSpring Bootコンテナを作成して、Spring Bootアプリケーションを実行していきます。