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

时间:2017-08-29 13:08:38

标签: azure docker azure-web-app-service azure-pipelines-release-pipeline azure-container-registry

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

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

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

我没有创业公司'在我的任何模板中命令,我想知道它是否可能是这个?

该站点在VS2017中运行良好,包括通过docker进行调试,所以它真的只是...如何让App Service实际加载和执行图像呢?

谢谢!

修改

除此之外,我还可以访问docker诊断日志,声明"图像操作系统" windows"不能在这个平台上使用"。

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

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

2 个答案:

答案 0 :(得分:6)

我本周最终解决了这个问题,希望答案可以帮助其他人。

当使用VSTS托管构建代理生成基于docker base microsoft / aspnetcore:latest运行的映像时 - 除非你使用(Linux预览版)托管的构建代理,否则你将生成一个不能在linux上运行的windows容器应用服务。

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

答案 1 :(得分:0)

针对同一错误消息的另一种解决方案:

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