VSCodeでDocker上のSpringをデバッグしてみる(Windows11)

下記の記事で作成したSpring環境でデバッグしてみます。

SDKをインストール

公式ページからSDKのインストーラーをダウンロード。
https://www.oracle.com/jp/java/technologies/downloads
私は25を選択しました。

基本的にデフォルトのまま「次」をクリックしていくだけ。

YAMLファイル編集

ポートを追加。

- "5005:5005"

コマンドを変更。

command:
  - mvn
  - spring-boot:run
  - -Dspring-boot.run.jvmArguments=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005

完成系はこちら。

services:
  app:
    build: .
    ports:
      - "8080:8080"
      - "5005:5005"
    command:
      - mvn
      - spring-boot:run
      - -Dspring-boot.run.jvmArguments=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/odaneko
      SPRING_DATASOURCE_USERNAME: odaneko
      SPRING_DATASOURCE_PASSWORD: odaneko

  db:
    image: mysql:8.4
    environment:
      MYSQL_ROOT_PASSWORD: odaneko
      MYSQL_DATABASE: odaneko
      MYSQL_USER: odaneko
      MYSQL_PASSWORD: odaneko
    ports:
      - "3306:3306"
    volumes:
      - mysql-data:/var/lib/mysql

volumes:
  mysql-data:

launch.json作成

フォルダ作成。

mkdir .vscode

ファイル作成。

type nul > .vscode\launch.json

下記の内容で編集。

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "Attach to Docker",
            "request": "attach",
            "hostName": "localhost",
            "port": 5005
        }
    ]
}

拡張機能追加

Debugger for Java

Extension Pack for Java

コンテナ起動

docker compose up -d

デバッグ起動&ブレイクポイント設定

F5でデバッグ起動。
任意の場所にブレイクポイント設定。

アプリを実行

ブレイクポイントで止まったらOK。

以上になります。
お読み頂き、ありがとうございました。