我创建了一个 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:15973,http://localhost:44369,http://localhost/并尝试传递-p 8080:80
然后http://localhost:8080但他们没有响应。
启动图像的响应是:
托管环境:生产
内容根路径:/app
现在收听:http://[::]:80
我认为这也是它在 Azure 中托管的问题,请求没有被路由到图像。
我需要做什么才能调用图像中的api?