Azure应用服务泊坞窗容器'服务不可用'

wat*_*tdo 6 azure docker azure-web-app-service azure-pipelines-release-pipeline azure-container-registry

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

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

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

我的任何模板中都没有'startup'命令,我想知道它是否可以这样?

该网站从VS2017完美运行,包括通过docker进行调试,所以它真的只是...如何让App Service实际加载和执行图像?

谢谢!

编辑

除此之外,我还可以访问docker诊断日志,声称"图像操作系统"窗口"无法在此平台上使用".

我的基本映像是microsoft/aspnetcore:2.0映像,它在我的开发环境中的linux容器上运行得非常好......但似乎无法在Linux App Service中运行?

aspnetcore:2.0基本映像不适合Linux应用服务吗?

wat*_*tdo 6

我本周最终解决了这个问题,希望答案会有所帮助.

使用VSTS托管构建代理程序生成基于docker base microsoft/aspnetcore:latest运行的映像时 - 除非您使用(Linux预览版)托管构建代理程序,否则将生成一个Windows容器,该容器将无法在Linux应用程序服务上运行.

一旦我切换到使用托管的linux构建代理,容器就会成功加载,我的问题就解决了.

  • 这很有帮助!对于来到这里的其他人,可以在Kudu找到docker日志:https://YOURSITE.scm.azurewebsites.net并点击"docker logs".这将打开一个JSON文件; 将链接复制粘贴到JSON文件中. (3认同)