Azure 应用服务 docker 容器 'Service Unavailable'

Azure app service docker container 'Service Unavailable'

我已按照教程将 .net 核心 Web 应用程序构建到 docker 图像,发布到 azure 容器注册表,然后我设置了我的 VSTS 发布模板以将容器部署到应用程序服务。

这一切似乎都有效,我可以在容器注册表中查看我的映像,并且部署似乎成功 - 但是当导航到应用程序服务站点时,我得到的只是一个 HTTP 503 - 服务不可用。

应用程序服务已启动,我可以通过 bash 在我的文件系统中看到部署 - 所以我想知道我是否遗漏了什么?

我的任何模板中都没有 'startup' 命令,我想知道会不会是这个?

该站点从 VS2017 开始运行完美,包括通过 docker 进行调试,所以它真的只是一个例子......我如何让应用服务实际加载和执行图像?

谢谢!

编辑

除此之外,我还可以访问 docker 诊断日志,其中声称 "image operating system "windows“不能在此平台上使用”。

我的基本图像是 microsoft/aspnetcore:2.0 图像,它在我的开发环境中的 linux 容器上运行得很好......但似乎在 Linux 中不起作用应用服务?

aspnetcore:2.0 基础图像是否不适合 linux 应用程序服务?

我这周解决了,希望这个答案对其他人有帮助。

当使用 VSTS 托管构建代理生成图像时 运行宁从 docker 基础 microsoft/aspnetcore:最新 - 除非您使用(Linux 预览)托管构建代理,您将获得一个 windows 容器,该容器不会 运行 在 linux 应用程序服务上。

在我切换到使用托管 linux 构建代理后,容器成功加载,我的问题得到解决。

同样错误信息的另一种解决方案:

尝试使用 microsoft/aspnetcore(没有 tag/version :2.0)作为图像。如果这不起作用,请检查上面提到的 docker 日志,并根据确切的错误(通常是缺少依赖项)寻找解决方案。