#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: