我使用 Visual Studio 模板创建了一个简单的 asp.net 核心 Web 应用程序。然后我创建了一个 docker 文件,如下所示:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "WebApplication.dll"]
然后我使用以下方法构建了一个图像:
docker build -t webapplication:dev .
然后使用以下命令创建并运行一个容器:
docker run -d -p 8080:80 --name myapp webapplication:dev
这一切都在本地工作。然后我尝试将其推送到 azure 容器注册表并成功推送。但是,当我尝试运行此容器的实例时,Azure 中出现错误提示“支持的 Windows 版本为:'10.0.14393,10.0.17763'”
我不明白为什么我会收到这个错误?该图像在本地工作(我可以通过浏览到 localhost:8080 并检查我是否得到了有效的响应来检查,我确实这样做了)。这与ACR有关吗?解决方法是什么?这是否与我的 Windows 版本有关(我使用的是 10.0.18363 Build 18363)我的系统是否太新而无法正常工作,这似乎不太可能?有人见过这个吗?