このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Docker超入門:開発環境コンテナ:Spring Boot①

☕ 開発環境コンテナ:Spring Boot①

ここでは、Docker Compose を使って Spring Bootの開発環境コンテナ を構築していきます。
 Spring BootはJavaベースの人気フレームワークですが、ローカルでJavaやIDEをセットアップせずとも、Dockerを使えば簡単に開発・実行環境を用意できます。

Spring Bootの環境構築は2回に分けて進めます。

内容
開発環境コンテナ:Spring Boot①プロジェクトの作成と準備
開発環境コンテナ:Spring Boot②コンテナの作成とSpring Bootアプリの実行

💡 Spring Boot コンテナの構成

今回の環境は、1つのSpring Bootコンテナ で構成されます。
データの永続化が不要なアプリケーション開発向けの、シンプルな構成です。

コンテナ名イメージ役割マウント先
springboot_containeropenjdk:17-jdkJava実行環境・Spring Bootアプリを実行./demo

ホストマシン上の ./demo ディレクトリをコンテナにバインドマウントし、
ソースコードをリアルタイムで同期させる構成になっています。

🌱 Spring Bootとは

 Spring Boot(スプリングブート)は、Javaアプリケーションを素早く構築できる開発フレームワーク です。
通常のSpring Frameworkに比べて設定が大幅に簡略化されており、
開発者は「アプリのビジネスロジック」に集中できるように設計されています。

特徴内容
自動構成複雑な設定を自動で行ってくれる(例:Tomcatサーバーの自動起動)
内蔵Webサーバー外部サーバーを用意しなくても実行可能(Tomcat内蔵)
簡単な構築Spring Initializrからワンクリックでプロジェクト作成
マイクロサービス対応軽量なAPIやクラウドアプリ開発に最適

URL:https://spring.io/

⚙️ 使用するDockerイメージ

今回使用するのは、Javaの実行環境が含まれる openjdkの公式イメージ です。

イメージ名説明
openjdk:17-jdkJava 17がインストール済みのDocker公式イメージ。Spring Bootアプリを実行できる。

このイメージを使うことで、JavaやSpring開発ツール(STSなど)を
ローカル環境にインストールする必要がなくなります。

🧩 Spring Boot プロジェクトの作成

Spring Bootのプロジェクトは、Spring Initializr(公式サイト)を使って簡単に作成できます。

URL:https://start.spring.io/

以下の設定値を入力してプロジェクトを生成します。

項目設定値
ProjectMaven
LanguageJava
Spring Boot3.5.7
Groupcom.example
Artifact / Namedemo
Package namecom.example.demo
PackagingJar
Java17

依存関係の追加

ページ下部にある 「ADD DEPENDENCIES」 ボタンをクリックし、

「Spring Web」 を追加します。

追加が完了したら 「GENERATE」 をクリックすると、
Spring Bootプロジェクト(demo.zip)がダウンロードされます。

プロジェクトの展開

ダウンロードしたファイルを解凍します。

手順操作内容
demo.zip を解凍する
解凍後、フォルダ名が demo になっていることを確認
demo フォルダをDockerプロジェクトの直下(例:./demo)に配置する。

ここでは、手順①②を行います。
demo.zpを解凍してdemoフォルダを確認すると下図のようになっています。

✏️ Spring Boot プログラムの修正

Spring Bootプロジェクトのメインクラスを編集します。
以下のファイルを開きましょう。

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";
	} 
}

📘 コードのポイント解説

部分説明
@SpringBootApplicationSpring Bootのエントリーポイントを示すアノテーション。自動構成とコンポーネントスキャンを有効化。
@RestControllerクラス全体をREST APIとして扱う。HTTPリクエストに応答できる。
@RequestMapping("/")ルートパス("/")にアクセスがあったときの処理を定義。
return "Hello Spring";ブラウザに「Hello Spring」と表示される。

このシンプルなコードで、Webブラウザにアクセスしたときに
Spring Bootがレスポンスを返す仕組みを理解できます。

🧰 次のステップ

これで、Spring Bootのプロジェクトが完成しました。
この続きでは、compose.yamlを作成して
Spring Bootコンテナを起動 します。

続きは「開発環境コンテナ:Spring Boot②」で、
実際に ./mvnw spring-boot:run コマンドを使ってアプリを動かしていきましょう。

💬 まとめのひとこと

Dockerを使えば、Javaの開発環境をインストールしなくても
Spring Bootアプリを動かせる時代です。
まずはこの「Hello Spring」で、コンテナ開発の第一歩を踏み出しましょう!