Docker/Docker Compose

4.Spring BootをDocker Composeで実行

YOOANT 2026. 3. 15. 20:32

1. プロジェクトの設定

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

2. 簡単なコードの作成

AppController

@RestController
public class AppController {
  @GetMapping("/")
  public String home() {
    return "Hello, World!";
  }
}

3. Dockerfile の作成

プロジェクトのルートディレクトリに Dockerfile を作成します。

Dockerfile

FROM openjdk:17-jdk

# ビルドされた JAR ファイルを app.jar という名前でコピー
COPY build/libs/*SNAPSHOT.jar /app.jar

# コンテナ起動時に JAR ファイルを実行
ENTRYPOINT ["java", "-jar", "/app.jar"]

4. Spring Boot プロジェクトのビルド

$ ./gradlew clean build

5. Compose ファイルの作成

参考:Compose を使用せず Docker CLI で実行する場合

$ docker build -t hello-server .
$ docker run -d -p 8080:8080 hello-server

 

compose.yml

services:
  my-server: 
    # compose.yml が存在するディレクトリ (.) の Dockerfile でイメージを生成
    build: . 
    ports:
      - "8080:8080"
  • build: . : compose.yml が存在する現在のディレクトリ(.)にある Dockerfile を使用してイメージをビルドし、コンテナを起動するという意味です。

6. Compose ファイルの実行

$ docker compose up -d --build
  • --build オプションを付けることで、コードの変更を反映させるためにイメージを再ビルドしてから実行します。

7. 実行状況の確認

$ docker compose ps
$ docker ps

ブラウザで localhost:8080 にアクセスして動作を確認してください。

8. コンテナの削除Bash

$ docker compose down

日本語