VSCodeでDocker上のFastAPIをデバッグしてみる(Windows11)
.png)
下記のQiitaの記事を参考にDocker上のFastAPIをVSCodeでデバッグしてみました。
https://qiita.com/N700A/items/0b57a75a1016f76c8358
その際の手順メモ&備忘です。
目次
開発環境
下記の記事で作成したDocker上のFastAPI開発環境で、VSCodeを使ってデバッグできるようにしていきます。
Pythonをダウンロード
インストーラーをダウンロード

インストーラーを実行
Pythonのインストールをクリック。

何回かYes/Noの質問が来るので、下記の通り回答。




Pythonがインストールされたか確認
コマンドプロンプト等でPythonのバージョンを確認するコマンドを実行して、バージョンがリターンされたらインストールが完了。
python --version
Dockerコンテナの設定を修正
requirements.txtを修正
requirements.txtに下記を追記。
debugpy
docker-compose.ymlを修正
docker-compose.ymlに下記を追記
command: sh -c "python3 -m debugpy --listen 0.0.0.0:5678 -m uvicorn main:app --reload --proxy-headers --host='0.0.0.0' --port=8000"- "5678:5678"
コンテナを再ビルド
docker compose up -d --build
VSCodeのPython系拡張機能を追加
Pythonで検索してMicrosoft発の拡張機能を片っ端からインストール。
(正直どれが必要なのかわからない・・・)

デバッグの設定
「launch.jsonファイルを作成します。」をクリック→「Python Debugger」をクリック。
※事前にPythonファイルを開いた状態で行うこと。

「Pythonファイル」をクリック。

launch.jsonに下記を設定。
{
// IntelliSense を使用して利用可能な属性を学べます。
// 既存の属性の説明をホバーして表示します。
// 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "debugpy",
"request": "attach",
"name": "Docker (FastAPI)",
"connect": {
"host": "localhost",
"port": 5678
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}/app",
"remoteRoot": "/app"
}
]
}
]
}
デバッグしてみる
左上の緑の三角ボタンをクリックしてデバッガーを起動→任意の場所にブレークポイントを設定。

プログラムが実行されたとき、ブレークポイントで止まればOK。

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

