我们正在尝试使用 Azure 函数(HTTP 触发器)来触发 Dockerfile 中的 Java 可执行文件 (JAR)。我们能够使用 VSCode 在本地构建、标记和运行映像。但是,当我们将其推送到 Azure 时,我们会收到函数运行时无法访问的错误。
日志显示:
'容器没有响应端口 4444 或 8080 上的 http ping'
我们尝试了以下方法:
WEBSITES_PORT
为4444
和添加8080
。- 我们还在推送时在 Dockerfile 中一次公开了一个端口。
- 我们更改了
WEBSITES_CONTAINER_START_TIME_LIMIT
to的值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 上的许多示例,但还没有解决这个问题。