VSCode でコンテナの Java アプリをデバッグ
コンテナで起動している Java アプリケーションを VSCode 上でデバッグする手順です。
設定
- Dockerfile
FROM eclipse-temurin:21
# jarの配置などアプリ起動に必要なあれこれ
CMD java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8484 -jar ${jar_file}
上記CMDによって、8484 ポートでデバッグを待ち受けます。
- docker-compose.yaml
version: "3.7"
services:
java:
container_name: debug-test
image: nob-java-app
ports:
- 8080:8080
- 8484:8484
ホスト側の 8484 ポートとコンテナ側の 8484 ポートをフォワーディングします。
- launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "debug_nob-java-app",
"request": "attach",
"hostName": "localhost",
"port": 8484
}
]
}
プロジェクトのルートディレクトリ配下に.vscode/launch.jsonを作成します。
起動
VSCode 上で F5 キーを押せばデバッグが開始します。