0

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

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

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

并在应用程序设置中添加了以下键/值对WEBSITES_PORT::15973但仍然没有返回任何内容。

我以为我会回到基础并使用容器 ( appsvc/sample-hello-world:latest) 中的 web 应用程序的快速入门,但同样如此,实际上无法启动应用程序。

可能是什么问题?是否应该像将其指向图像以启动和运行网站一样简单?是否有另一个公共模板可以用作基本图像来查看容器运行?


更新

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

本地运行的问题是它启动后我不确定它是如何暴露的。我试过http://localhost:15973http://localhost:44369http://localhost/并尝试传递-p 8080:80然后http://localhost:8080但他们没有响应。

启动图像的响应是:

托管环境:生产

内容根路径:/app

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

我认为这也是它在 Azure 中托管的问题,请求没有被路由到图像。

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

4

1 回答 1

0

对于您的问题,我尝试对 Azure Web App for Containers 进行测试,并按照Deploy a Docker/Go web app in Web App for Containers 中的步骤进行操作。它运作良好。

所以,我建议你可以先在本地机器上测试你的镜像。如果它可以在本地计算机上按您的意愿工作。

于 2018-09-04T02:28:12.527 回答