【问题标题】:Unable to deploy Windows container on Azure Web App for container from DockerHub无法在 Azure Web App 上为来自 DockerHub 的容器部署 Windows 容器
【发布时间】:2019-07-21 09:45:02
【问题描述】:

我正在查看有关在 Azure Web App 中为容器部署 Windows 容器(预览版)的文档 here

此外,该文档似乎落后了(因为似乎正在快速发展,并且正在预览中)。例如。在 Windows 容器部署的 steps 5 中,说明没有提及 启动文件,如下所示。如果这甚至是强制性的或可以保留为空,是否没有文档?

我在尝试部署时在底部的此面板上看到错误 Docker Hub 的公共仓库中托管的镜像中的容器。

如何解决我遇到的错误?

错误消息是:无法在其中运行此操作系统/版本 Windows 容器。支持的最高操作系统版本为 10.0.14393.9999。

这是我从 VS 2017 通过添加“容器编排支持”添加的 docker.yml。

FROM microsoft/aspnet:4.7.2-windowsservercore-1803
ARG source
WORKDIR /inetpub/wwwroot
COPY ${source:-obj/Docker/publish} .

这里是 docker-compose.yml

version: '3.4'

services:
  webformapp:
    image: ${DOCKER_REGISTRY-}webformapp
    build:
      context: .\WebFormApp
      dockerfile: Dockerfile

【问题讨论】:

    标签: containers azure-web-app-service


    【解决方案1】:

    您正在使用 1803 作为容器的基本操作系统版本,但是错误提到了 10.0.14393.9999,它对应于 1607 (https://en.wikipedia.org/wiki/Windows_10_version_history)。所以你需要使用另一个基础镜像。试试这个基地:4.7.2-windowsservercore-ltsc2016

    【讨论】:

      【解决方案2】:

      免责声明:答案并非特定于 Azure Web App,因此请谨慎对待。

      但是,我已经处理过一些关于托管 Windows 容器的问题。它看起来和我之前遇到的一个问题非常相似——基本上,Docker 和 Windows 之间的虚拟化层非常薄,所以主机和容器之间的 windows 版本需要对齐。

      您要么需要将 Container 版本与 Windows 版本匹配(即从不同的基础映像构建),要么在 docker run 中使用 hyper-v 虚拟化模式来处理差异。不确定第二个是否甚至可以在 Azure Web 应用程序中实现。

      更多详情请看这里:

      Microsoft Documentation

      【讨论】:

      • 秒是不可能的
      • 好确认
      • 顺便说一句,我在 PaaS“容器的 Web 应用程序”上进行部署,并且图像的版本由 VS 2017 选择......所以它不应该只是工作(即使在预览中)?我决定现在远离 Windows 容器,直到它处于 GA 模式,因为我不能在两行之间花时间阅读——尤其是当我使用 PaaS 解决方案时。
      • 原则上同意安迪......如果只是:)。我一般会说,Windows 容器似乎与 Linux 的关系很差——似乎有很多不受支持的功能、隐藏的问题等
      • 我们同意,正如 Joaquin 在他的回答中提到的那样,我们正在努力提高能力。现在,正如我们的文档 (docs.microsoft.com/azure/app-service/…) 中所述,您需要指定来自 asp.net 团队的多架构映像或指定 ltsc2016 映像。 Visual Studio 默认为您的本地计算机能够运行的任何内容。感谢反馈,已注明。
      【解决方案3】:

      目前我们仅支持 Windows Server 2016 RS1 映像,但我们正在推出更新,我们将能够运行从 RS1 到 RS5 的所有 Windows 容器基础映像。我没有确切的日期,但我们应该在三月底之前完成。

      现在,请将您的基本映像更改为: microsoft/aspnet:4.7.2-windowsservercore-ltsc2016

      我们完成更新后,请尝试: microsoft/aspnet:4.7.2-windowsservercore-ltsc2019

      ltsc2019 更小,因此您会注意到 Web 应用程序启动速度更快

      更多信息: https://hub.docker.com/_/microsoft-dotnet-framework-aspnet

      谢谢,

      华金

      【讨论】:

        猜你喜欢
        • 2021-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多