このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Docker超入門:開発環境コンテナ:Spring Boot②

☕ 開発環境コンテナ:Spring Boot②
前回の「開発環境コンテナ:Spring Boot①」に続いて、今回はSpring Bootアプリケーションをコンテナ上で実行する手順を解説します。
Docker Composeを使い、Java実行環境(openjdk)上でSpring Bootを起動できるコンテナを構築していきます。
Spring Bootの環境構築は2回に分けて進めています。
| 回 | 内容 |
|---|---|
| 開発環境コンテナ:Spring Boot① | プロジェクトの作成と準備 |
| 開発環境コンテナ:Spring Boot② | コンテナの作成とSpring Bootアプリの実行 |
💡 Spring Boot コンテナの構成

今回作成するSpring Bootコンテナは次のような構成になります。
ホストマシンの./demoディレクトリをコンテナにマウントし、ソースコードをリアルタイムに反映させながら開発できます。
| コンテナ名 | イメージ | コマンド | ポート設定 | マウント先 | 作業ディレクトリ |
|---|---|---|---|---|---|
| spring_container | openjdk:17 | ./mvnw spring-boot:run | 8080:8080 | ./demo:/demo | /demo |
この構成により、ホストPC側でソースコードを編集すると、即座にコンテナ内でも反映されます。
Docker Composeがコンテナの起動・停止・構成をすべて管理してくれるため、開発作業がとてもシンプルになります。
🧹 作業前のクリーンアップ
Docker環境をリセットして、古いコンテナや不要なイメージを削除しておきましょう。
docker system prune -a --volumes| オプション | 説明 |
|---|---|
| -a | 未使用のすべてのイメージを削除 |
| --volumes | 未使用のボリュームも同時に削除 |
このコマンドを実行すると、停止中のコンテナや不要なキャッシュもまとめて削除され、
クリーンな状態から構築を始めることができます。
実行結果
PS C:\Users\joeac> docker system prune -a --volumes
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all anonymous volumes not used by at least one container
- all images without at least one container associated to them
- all build cache
Are you sure you want to continue? [y/N] y※GUI操作が好きな方は、Docker Desktop の「Containers」「Volumes」タブから削除してもOKです。
📁 ディレクトリの作成と移動
Docker Composeでは、compose.yamlファイルがあるディレクトリを基準にコンテナを作成します。
そのため、まず作業ディレクトリを整理します。
cd desktop/docker
mkdir springboot
cd springboot| コマンド | 説明 |
|---|---|
| cd desktop/docker | docker用の作業フォルダに移動 |
| mkdir springboot | Spring Boot用のプロジェクトフォルダを作成 |
| cd springboot | 作成したフォルダに移動 |
実行結果
PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker> mkdir springboot
Directory: C:\Users\joeac\Desktop\docker
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2025/10/24 11:55 springboot
PS C:\Users\joeac\Desktop\docker> cd springboot
PS C:\Users\joeac\Desktop\docker\springboot> 作成後、「開発環境コンテナ:Spring Boot①」でダウンロードしたdemoフォルダをこの中に移動します。
「demo」ディレクトリを「springboot」ディレクトリ内に移動させます。

これでSpring Bootのプロジェクトをコンテナで扱う準備が整いました。
⚙️ compose.yaml の作成
次に、VS Codeを起動して compose.yaml を作成します。
code compose.yamlVS Codeが開いたら、以下の内容を入力して保存します。
services:
web:
image: openjdk:17
container_name: spring_container
command: ./mvnw spring-boot:run
ports:
- "8080:8080"
volumes:
- ./demo:/demo
working_dir: /demo🧩 定義内容の解説
| キー | 説明 |
|---|---|
| services | アプリケーションを構成するサービスを定義するトップレベルキー。 |
| web | サービスの名前(任意)。ここではSpring Bootアプリを指す。 |
| image | 使用するDockerイメージ。ここではopenjdk:17を使用。 |
| container_name | コンテナ名を明示的に指定(spring_container)。 |
| command | コンテナ起動時に実行するコマンド。./mvnw spring-boot:runでアプリ起動。 |
| ports | ホストとコンテナのポートをマッピング(8080→8080)。 |
| volumes | ホストの./demoをコンテナの/demoにマウント。 |
| working_dir | コンテナ内での作業ディレクトリを指定(/demo)。 |
この定義により、Spring BootアプリがMaven Wrapper経由で起動します。
また、ホストマシンとコンテナのソースコードが常に同期され、編集内容が即時反映されます。
🚀 コンテナの作成と実行
準備が整ったら、コンテナを起動します。
docker compose up -d| オプション | 説明 |
|---|---|
| up | compose.yamlに基づいてコンテナを作成・起動する。 |
| -d | バックグラウンドで実行(デタッチモード) |
実行結果
PS C:\Users\joeac\Desktop\docker\springboot> docker compose up -d
[+] Running 4/4
✔ web Pulled 58.0s
✔ 38a980f2cc8a Pull complete 29.9s
✔ de849f1cfbe6 Pull complete 30.3s
✔ a7203ca35e75 Pull complete 53.0s
[+] Running 2/2
✔ Network springboot_default Created 0.1s
✔ Container spring_container Started 1.0sこの表示が出れば、Spring Bootコンテナの起動に成功です。
コマンドの補足解説
| コマンド | 説明 |
|---|---|
| docker compose up | Composeファイルに定義されたすべてのサービスを起動 |
| docker compose ps | 現在起動中のコンテナを確認 |
| docker compose stop | コンテナを停止 |
| docker compose down | ネットワークやボリュームを含めて削除 |
起動後は、コンテナ内で./mvnw spring-boot:runが自動的に実行され、Spring Bootアプリが立ち上がります。
🌐 Spring Bootアプリケーションの実行
Webブラウザを起動して、次のURLにアクセスします。
http://localhost:8080Spring Bootアプリケーションが起動していれば、
ブラウザに以下のメッセージが表示されます。
Hello Spring

もし「このページは動作しません」と表示された場合は、
Spring Bootコンテナの起動処理中である可能性があります。
少し時間をおいてから再読み込みを試してみましょう。
✅ まとめ
| ステップ | 内容 |
|---|---|
| ① | 不要なDockerオブジェクトを削除し、環境をクリーンにする。 |
| ② | 作業フォルダを作成し、Spring Bootプロジェクトを配置する。 |
| ③ | compose.yamlを作成し、openjdk上でSpring Bootを実行する設定を行う。 |
| ④ | docker compose up -d でコンテナを起動する。 |
| ⑤ | ブラウザで http://localhost:8080 にアクセスして動作確認する。 |
これでSpring BootアプリケーションがDocker上で動作しました。
次回以降は、データベース連携や複数コンテナ構成への拡張にも対応できます。
💬 まとめのひとこと
Docker Composeを使えば、JavaやIDEをインストールしなくても
Spring Bootを簡単に実行できます。
「Hello Spring」が見えたら、あなたの開発環境はもう立派なクラウド時代仕様です!
