我正在运行带有Python应用程序和WSGI配置的容器,该容器接受一堆GET参数。目标是通过浏览器(或curl)请求应用,并使用VSCode Remote - Containers
扩展名获取工作断点。
主机操作系统:Fedora 28,容器操作系统:CentOS 7
Docker详细信息:
- Docker v18.09.9
- No Dockerfile(just running container)
- Docker network using
- Container IP is 172.18.0.2
- App directory is mounted from host filesystem
应用程序详细信息:
- No frameworks
- Just Python3 with several modules
- Virtual environment using
IDE详细信息:
- VSCode v1.38.1
- Remote - Containers extension
- Python extension(installed in attached container also)
在VSCode中,我可以Attach to Running Container
,然后打开较早挂载的应用程序目录并编辑代码,安装软件包等。可以,但是我坚持调试配置,预定义的项目(Flask,Django等)不匹配我的工作流程。
如何为此目的调整launch.json文件?
答案 0 :(得分:0)
您应该指定要使用的Web框架。我正在使用金字塔,调试正常。
这是我的做法:
Install in attached container...
View: Show Debug
Python
作为语言。launch.json
文件。这是我在金字塔中保存的文件:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Pyramid Application",
"type": "python",
"request": "launch",
"module": "pyramid.scripts.pserve",
"args": [
"--reload",
"--server-name",
"docker",
"${workspaceFolder}/development.ini"
],
"pyramid": true,
"jinja": true,
"justMyCode": false,
}
]
}
请注意"justMyCode": false,
。如果您的项目具有在构建容器时安装的其他本地项目的依赖项,则这非常重要。
例如,如果您在需求文件中有对git存储库的引用,则将其安装在系统目录中,并且默认情况下,调试器不会进入那里的功能。使用此选项可以使调试器进入其中。