vscode отладка FastAPI в контейнере на macOS

#docker #debugging #visual-studio-code

Вопрос:

Я настраиваю отладку FastAPI, работающего в контейнере с кодом VS. Когда я запускаю отладчик, приложение FastAPI запускается в контейнере. Но когда я получаю доступ к веб-странице с хоста, сервер не отвечает следующим образом: введите описание изображения здесь

Однако, если я запущу контейнер из командной строки со следующей командой, я смогу получить доступ к веб-странице с хоста.

запуск докера-p 8001:80/tcp с-пакет:v2 uvicorn основной:приложение —хост 0.0.0.0 —порт 80

Вот задачи.файл json:

 { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [  {  "type": "docker-run",  "label": "docker-run: debug",  "dockerRun": {  "image": "with-batch:v2",   "volumes": [  {  "containerPath": "/app",  "localPath": "${workspaceFolder}/app"  }  ],  "ports": [  {  "containerPort": 80,  "hostPort": 8001,  "protocol": "tcp"  }  ]  },  "python": {  "args": [  "main:app",  "--port",  "80"  ],  "module": "uvicorn"  }  },  {  "type": "docker-build",  "label": "docker-build",  "platform": "python",  "dockerBuild": {  "tag": "with-batch:v2"  }  } ]  

}

вот файл launch.json:

 { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [  {  "name": "Debug Flask App",  "type": "docker",  "request": "launch",    "preLaunchTask": "docker-run: debug",  "python": {  "pathMappings": [  {  "localRoot": "${workspaceFolder}/app",  "remoteRoot": "/app"  }  ],  "projectType": "fastapi"  }  } ]  

}

here is the debug console output: enter image description here

here is the docker-run: debug terminal output: enter image description here

here is the Python Debug Console terminal output: enter image description here