【问题标题】:Downgrade docker windows container version降级 docker windows 容器版本
【发布时间】:2021-02-18 22:21:39
【问题描述】:

我在 windows server 2016 上使用 docker for windows 作为构建机器和 docker 尝试拉我的容器时出现错误 'docker:基于 Windows 版本 10.0.18363 的映像与 10.0.14393 主机不兼容。'

我从https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility?tabs=windows-server-20H2%2Cwindows-10-20H2了解到 我不能在旧主机(服务器 2016)上使用更新的容器版本,但是我可以在构建容器时以某种方式降级我的 Windows 10 使用的容器版本吗?升级到 windows server 2019 会解决这个问题吗?或者我应该为 docker build 使用不同的图像,现在 dockerfile 像这样开始:

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build

【问题讨论】:

    标签: docker dockerfile


    【解决方案1】:

    升级到 Windows Server 2019 主机将解决此问题。

    您引用的标签5.0 是一个多平台标签。这是 Docker 用来解析与主机兼容的适当映像的特殊标记。如果您在 Linux 机器上使用该标签,它将为您提供 Linux 映像。如果您在 Windows 机器上使用它,它会为您提供一个 Windows 映像。

    对于 Windows,有特殊的逻辑可确保您获得与主机的 Windows 版本兼容的适当映像。因此,它使用与您在提供的URL 中引用的相同兼容性规则。因此,如果您从 Windows Server 2019 机器中提取此标签,它将为您提供与 Windows Server 2019 兼容的图像。

    是的,您可以在具有较新版本的主机上使用较旧版本 Windows 的容器映像,正如兼容性表所示。例如,table 表明,如果您使用 Hyper-V 隔离(Windows 10 中的默认设置),您可以在 Windows Server 2019(或 Windows 10 版本 1809)主机上运行 Windows 2019 或 2016 容器映像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-28
      • 2021-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多