You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何访问Azure Function App中运行的Docker容器?

Azure容器化Python函数应用:容器定位、日志访问及容器连接方案

容器运行位置说明

容器化部署的Azure函数应用,其Docker容器托管在App Service专用的容器宿主节点上,并非Kudu控制台所在的管理节点。这就是你在Kudu里找不到docker命令、/home/site/wwwroot路径为空的原因——你的代码打包在自定义镜像内部,并未挂载到宿主节点的该目录。

访问容器日志的方法

  • Azure门户实时日志流:进入函数应用的「监控」→「日志」页面,选择「实时日志流」,可直接查看容器的标准输出(stdout)和标准错误(stderr)日志,包含函数运行的详细信息。也可用Kusto查询语句筛选日志,示例:
    ContainerAppLogs
    | where ContainerName contains "<你的容器名>"
    | project TimeGenerated, LogMessage
    
  • Azure CLI日志尾流:执行以下命令拉取实时日志:
    az functionapp log tail --name <函数应用名称> --resource-group <资源组名称>
    
  • 镜像内置日志文件:若你的Docker镜像配置了日志文件路径(比如函数日志写入容器内某文件),可通过后续容器连接方法直接查看这些文件。

连接容器检查文件的方式

方法1:Azure CLI直接执行容器命令

用Azure CLI的exec命令进入容器shell,或直接执行文件操作:

  • 进入容器交互式shell(根据镜像基础系统选择/bin/bash或/bin/sh):
    az functionapp exec --name <函数应用名称> --resource-group <资源组名称> --command "/bin/bash"
    
  • 直接查看容器内文件内容:
    az functionapp exec --name <函数应用名称> --resource-group <资源组名称> --command "cat /app/your_function_file.py"
    
  • 将容器内文件导出到本地:
    az functionapp exec --name <函数应用名称> --resource-group <资源组名称> --command "cat /app/your_function_file.py" > local_copy.py
    

方法2:通过SSH连接容器(需镜像预配置)

若你的Dockerfile已配置SSH服务(比如安装openssh-server、设置SSH密钥或密码),可通过Kudu控制台连接:

  1. 打开函数应用的Kudu控制台(路径:https://<函数应用名称>.scm.azurewebsites.net/)
  2. 点击页面右上角的「SSH」按钮,直接进入容器的SSH会话,执行文件查看、修改等操作。

注意事项

  • 确保使用Linux版函数应用(容器化部署仅支持Linux环境)。
  • 若镜像基于Alpine等轻量发行版,需将shell命令替换为/bin/sh而非/bin/bash。

内容的提问来源于stack exchange,提问作者Mihai Podaru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 22:28:18