python-3.x - 调试在 Docker 容器中运行的 Azure 函数
问题描述
我想附加到容器并逐步执行代码。
我可以使用 'docker-compose.debug' 中的 'Compose Up' 来做到这一点吗?这是否会启动函数运行时所需的“func:host start”?
请在下面查看我的 docker-compose.debug。谢谢你。
docker-compose.debug.yaml 如下:
version: '3.4'
services:
nfunc:
image: nfunc
build:
context: .
dockerfile: ./Dockerfile
command: ["sh", "-c", "pip install debugpy -t /tmp && python /tmp/debugpy --wait-for-client --listen 0.0.0.0:5678 mytrigger\__init__.py "]
ports:
- 5678:5678
调试有效,但不适用于容器,它应该每分钟输出一条简单的日志消息。
解决方案
在这种情况下,我相信您必须进行分析。您将必须遵循这些:
- 如果它不是一个祝福的图像,那么如果你想进入容器,首先你必须安装 SSH。
- 然后,您将不得不使用诸如 cProfile 或其他相关 python 模块之类的工具来分析代码。
这是 Windows 应用程序的文档。您可能想看看:https ://azureossd.github.io/2017/09/01/profile-python-applications-in-azure-app-services/index.html
已跟踪此问题:https ://github.com/Azure/azure-functions-docker/issues/17
推荐阅读
- typescript - 防止 create-react-app TS 编译缩小的库
- swift - 如何在没有用户输入的情况下在 Swift UI 中切换视图?
- c# - 一一引用视图值
- python - 如何获取 matplotlib 颜色图列表?
- python - 如果在 Python 中满足条件,如何从列表中提取值?
- r - 如何包括最后一个系数列
- html - 问:如何加快将设计转换为 html 页面的过程(手动)?
- javascript - firebase.firestore().collection().onSnapshot() 不起作用
- java - Java Unirest 将带有空 JSON 的 POST 请求发送到在 localhost 上运行的服务器,但是在将相同的请求发送到云服务器时工作正常?
- node.js - jsonapi-serializer 覆盖现有的“链接”属性