このページで解説している内容は、以下の 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_container | openjdk:17-jdk | Java実行環境・Spring Bootアプリを実行 | ./demo |
ホストマシン上の ./demo ディレクトリをコンテナにバインドマウントし、
ソースコードをリアルタイムで同期させる構成になっています。

🌱 Spring Bootとは

Spring Boot(スプリングブート)は、Javaアプリケーションを素早く構築できる開発フレームワーク です。
通常のSpring Frameworkに比べて設定が大幅に簡略化されており、
開発者は「アプリのビジネスロジック」に集中できるように設計されています。
| 特徴 | 内容 |
|---|---|
| 自動構成 | 複雑な設定を自動で行ってくれる(例:Tomcatサーバーの自動起動) |
| 内蔵Webサーバー | 外部サーバーを用意しなくても実行可能(Tomcat内蔵) |
| 簡単な構築 | Spring Initializrからワンクリックでプロジェクト作成 |
| マイクロサービス対応 | 軽量なAPIやクラウドアプリ開発に最適 |

⚙️ 使用するDockerイメージ
今回使用するのは、Javaの実行環境が含まれる openjdkの公式イメージ です。
| イメージ名 | 説明 |
|---|---|
| openjdk:17-jdk | Java 17がインストール済みのDocker公式イメージ。Spring Bootアプリを実行できる。 |
このイメージを使うことで、JavaやSpring開発ツール(STSなど)を
ローカル環境にインストールする必要がなくなります。
🧩 Spring Boot プロジェクトの作成
Spring Bootのプロジェクトは、Spring Initializr(公式サイト)を使って簡単に作成できます。

以下の設定値を入力してプロジェクトを生成します。
| 項目 | 設定値 |
|---|---|
| Project | Maven |
| Language | Java |
| Spring Boot | 3.5.7 |
| Group | com.example |
| Artifact / Name | demo |
| Package name | com.example.demo |
| Packaging | Jar |
| Java | 17 |
依存関係の追加
ページ下部にある 「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";
}
}📘 コードのポイント解説
| 部分 | 説明 |
|---|---|
| @SpringBootApplication | Spring 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」で、コンテナ開発の第一歩を踏み出しましょう!
