我有一个azure函数,我正在使用azure容器注册表映像进行部署,但无法获取Azure运行时。我已经检查了来自Kudu的码头日志,它正在抛出-
提取映像成功,所用时间:0分1秒2022年12月13 T07:40:49.911Z信息-站点2022年12月13 T07:40:49.912Z的起始容器信息-对接器运行-d --暴露=80 --名称<function_app>_0_e2779bae -e对接器自定义图像名称=/:-e网站启用应用程序服务存储=假-e网站名称=<function_app>-e网站授权启用=假-e端口=80 -e网站角色示例ID=0-e网站主机名=<function_app>. azurewebsites.net-e网站示例ID= -e网站使用诊断服务器=假<image_path>
2022-12- 13 T07:40:49.913Z信息-未为此容器启用日志记录。请使用https://aka.ms/linux-diagnostics启用日志记录以在此处查看容器日志。2022-12- 13 T07:40:50.683Z信息-正在<function_app>向站点<function_app>2022-12- 13 T07的容器_0_e2779bae_msiProxy发起预热请求:40:50.692Z信息-站点的容器<function_app>_0_e2779bae_msiProxy<function_app>已成功初始化并准备好为请求提供服务。2022-12- 13 T07:40:50.693Z信息-正在向容器_0_发起预热请求<function_app>站点的e2779 bae <function_app>2022-12- 13 T07:40:50.706Z错误-<function_app>站点的容器_0_e2779bae<function_app>已退出,站点启动失败2022-12- 13 T07:40:50.712Z错误-容器<function_app>_0_e2779bae未响应端口上的HTTP ping:80,站点启动失败。请参阅container日志进行调试。2022-12- 13 T07:40:50.718Z信息-正在停止站点,<function_app>因为它在启动期间失败。
我在应用程序设置中添加了Docker url,用户名和密码属性,这些属性都是正确的。有人能帮我吗?
2条答案
按热度按时间cgh8pdjw1#
容器<function_app>_0_e2779bae未响应端口上的HTTP ping:80,站点启动失败。
上述错误可能有多种原因,例如:
1.通过将应用程序设置添加为
WEBSITES_PORT
,允许端口8080
或80
。1.如果是自定义容器,则必须给予特定的端口号来路由请求。
1.在Docker文件中,显示上述端口。
有关Azure Functions Container Context上的类似错误以及GitHub存储库上报告的许多类似问题(如46401、34451),请参阅此MS Q&A问题(编号750525),以获取MSFT Azure团队提供的解决方案。
72qzrwbm2#
我试了好几种方法,但最后还是知道了原因。
该问题与dockerfile有关,但错误日志未显示实际原因。
以前在dockerfile中,我们使用的是入口点,代码没有发布到wwwroot
工作目录/应用程序副本--来自=发布/应用程序/发布.入口点[“dotnet”,“一些应用程序. dll”]
然后我们修改了该文件以将其发布到wwwroot
工作目录/主页/站点/wwwroot副本--来源=发布/应用程序/发布。ENV AzureWebJobsScriptRoot=/主页/站点/wwwroot
这解决了我的问题。