无法访问在Azure Web App容器中运行的docker映像

时间:2018-09-03 20:45:49

标签: azure docker azure-web-sites azure-web-app-for-containers

我已经创建了一个docker映像并将其添加到Azure容器注册表中。然后,我已将其部署到Web应用程序,但无法访问该网站。当我浏览到它时,它加载了很长时间(几分钟),然后出现503错误“服务不可用。”

我认为这可能是端口问题,因为我的docker文件具有:

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 15973
EXPOSE 44369

并且已将以下键/值对添加到应用设置中:WEBSITES_PORT15973,但仍然不返回任何内容。

我认为我会回到基础知识上,并使用Web应用程序中的快速入门来获取容器(appsvc/sample-hello-world:latest),但是这样做也一样,实际上无法启动该应用程序。

可能是什么问题?它是否应该像指向一个图像一样简单,以使网站正常运行?是否可以使用另一个公共模板作为基本图像来查看容器运行情况?


更新

所以我尝试了@Charles建议在本地运行图像。当它启动时,它肯定会运行,好像我没有传递环境变量(例如连接字符串)一样,然后得到相关的错误消息。

在本地运行的问题是,启动后我不确定它的公开方式。我尝试过http://localhost:15973http://localhost:44369http://localhost/,并尝试先传递-p 8080:80,然后传递http://localhost:8080,但他们没有回应。

启动图像的响应是:

  

托管环境:生产

     

内容根路径:/ app

     

现在收听:http://[::]:80

我认为这也是将其托管在Azure中的问题,请求没有路由到该映像。

我需要怎么做才能调用图像中的api?

1 个答案:

答案 0 :(得分:0)

对于您的问题,我尝试进行有关Azure Web App容器的测试,并按照Deploy a Docker/Go web app in Web App for Containers中的步骤进行操作。效果很好。

因此,我建议您首先在本地计算机上测试映像。如果它可以在您的本地计算机上正常工作。