azure - 尝试调用包装在 Docker 容器中的 Azure Function 时出现内部服务器错误 (500)

标签 azure docker azure-functions

当尝试调用包装在 Docker 容器中的 Azure 函数时,我得到的只是内部服务器错误 500。

这是我创建容器的过程:

mkdir docker-function
cd docker function
func init --docker
func new (I then selected Http Trigger)
docker build -t hello-docker-function:latest .
docker tag hello-docker-function myaccount/hello-docker-function
docker push myaccount/hello-docker-function:latest

然后,我在美国中部创建了一个 Azure Function,并选择了 Docker(在 Linux 上)。
然后,我单击配置容器设置
作为图像源,我选择了Docker Hub
作为存储库访问,我选择了公共(public)
作为 Image 我指定了 myaccount/hello-docker-function
我没有指定任何类型的启动文件

当调用该函数时(通过其 URL 或通过 Run 按钮),我得到的只是内部服务器错误 500。

我还尝试使用 Azure 容器注册表 - 相同的结果。

有什么想法吗?

最佳答案

我尝试重现该问题,并且还收到了 500 响应代码。

看来问题与两件事有关:必须配置或禁用的身份验证以及必须指定的工作运行时。

有两件事让它对我有用:

  1. function.json 中将authLevel 设置为anonymous。 如果您想启用身份验证,这个问题可能会有所帮助:Http Trigger Azure Function in Docker with non anonymous authLevel

  2. 在 Azure Web UI FunctionApp 配置页面中,将 FUNCTIONS_WORKER_RUNTIME 设置为 node(我使用了 nodeJS)。

关于azure - 尝试调用包装在 Docker 容器中的 Azure Function 时出现内部服务器错误 (500),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58903934/

相关文章:

azure - IIS 媒体服务中的存档路径

docker - Github 操作在容器中运行步骤

c# - Azure Functions,如何拥有多个 .json 配置文件

Azure:无法在 Azure Training 上启动沙箱

c# - Xamarin.Forms 无法安装 Microsoft.Azure.Mobile.Client.SQLiteStore 2.1.1

android - Azure 媒体服务的 MPEG-DASH 中出现错误

azure - 在 Azure Service Fabric 中实现缓存

ubuntu - Docker - 无法在现有文件上挂载卷,文件存在

docker-pr proc 已经在监听端口 80?在 Ubuntu 上使用 snappy 安装 docker

javascript - Azure Web 应用程序和功能凭据不起作用