【发布时间】:2022-01-28 20:02:01
【问题描述】:
我们正在尝试使用 Azure 函数(HTTP 触发器)来触发 Dockerfile 中的 Java 可执行文件 (JAR)。我们能够使用 VSCode 在本地构建、标记和运行映像。但是,当我们将其推送到 Azure 时,我们会收到函数运行时无法访问的错误。
日志显示:
'容器没有响应端口 4444 或 8080 上的 http ping'
我们尝试了以下方法:
- 为
4444和8080添加了WEBSITES_PORT。 - 我们还在 Dockerfile 中一次公开一个端口,同时推送它。
- 我们将
WEBSITES_CONTAINER_START_TIME_LIMIT的值更改为1800和其他值,但均未成功。
部署中心日志显示 docker 镜像已成功拉取的消息:
INFO - Pull Image successful, Time taken: 0 Minutes and 0 Seconds
INFO - Starting container for site
INFO - docker run -d -p 8080:8080 --name xxxx -e DOCKER_CUSTOM_IMAGE_NAME=notreal.azurecr.io/xxxx -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITES_PORT=8080 -e WEBSITE_SITE_NAME=xxxx -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=xxxx.azurewebsites.net -e WEBSITE_INSTANCE_ID=abcdef abcdef.azurecr.io/xxxx
INFO - Logging is not enabled for this container. Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
INFO - Initiating warmup request to container xxxx for site xxxx
INFO - Waiting for response to warmup request for container xxxx. Elapsed time = 15.5217224 sec
INFO - Waiting for response to warmup request for container xxxx. Elapsed time = 107.7627672 sec
ERROR - Container xxxx for site xxxx is not running, failing site start
ERROR - Container xxxx didn't respond to HTTP pings on port: 8080, failing site start. See container logs for debugging.
我们查看了 Stack Overflow 上的大量示例,但还没有解决这个问题。
【问题讨论】:
-
您的 SCM 是否已启动并运行?您能否确认您与存储帐户的连接配置是否正确?
-
嗨,是的,我已确保 scm 正在运行(假设您指的是在左侧刀片上选择高级工具然后单击“开始”时打开的站点。我还确保存储帐户已正确连接。我什至刚刚旋转了存储帐户的密钥,然后更新了功能应用程序中的配置设置以匹配新旋转的密钥。不幸的是,仍然收到与我原来的帖子相同的端口/ping错误.
标签: java docker azure-functions runtime-error azure-http-trigger