首页 > 解决方案 > 调试在 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

调试有效,但不适用于容器,它应该每分钟输出一条简单的日志消息。

标签: python-3.xdocker-composeazure-functions

解决方案


在这种情况下,我相信您必须进行分析。您将必须遵循这些:

  1. 如果它不是一个祝福的图像,那么如果你想进入容器,首先你必须安装 SSH。
  2. 然后,您将不得不使用诸如 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


推荐阅读