如何解决如何更改 Docker Windows 版本?
在 Visual Studio 中,向标准/通用 dotnet 3.1 控制台应用添加了 Docker 支持。在 Azure 中创建了一个存储库和实例。已部署 - 出现错误
{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.","details":[{"code":"UnsupportedWindowsVersion","message":"Unsupported windows image version. Supported versions are 'Windows Server 2016 - Before 2B,Windows Server 2019 - Before 2B,Windows Server 2016 - After 2B,Windows Server 2019 - After 2B'"}]}
做“docker检查”......我明白了,部分:
"Architecture": "amd64","Os": "windows","OsVersion": "10.0.19042.804",
Dockerfile 不指定任何版本,仅:
FROM mcr.microsoft.com/dotnet/core/runtime:3.1 AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /src
...
既然这都是默认的 - 在哪里/如何修复不兼容性?
解决方法
得到了答案 - 为其他有同样问题的人发帖。显然,容器 Windows 版本默认与发布它的 DEV 机器相同。由于 Azure 只支持特定版本,当然是不兼容的。
答案是在版本末尾添加多架构标签,这意味着……Dockerfile 现在应该如下所示:
FROM mcr.microsoft.com/dotnet/core/runtime:3.1-nanoserver-1809 AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-nanoserver-1809 AS build
WORKDIR /src
...
(附带 -nanoserver-1809)。这将拉取/使用/指定要使用的版本并适当地流向 Azure。如果你使用 :5.0 也一样
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。