SQL Server Docker 容器能否在 Windows Server core 2022 上运行(“linux”不能在此平台上使用)

Posted

技术标签:

【中文标题】SQL Server Docker 容器能否在 Windows Server core 2022 上运行(“linux”不能在此平台上使用)【英文标题】:Can a SQL Server Docker container run on Windows Server core 2022 ("linux" cannot be used on this platform) 【发布时间】:2021-12-26 05:06:15 【问题描述】:
docker pull mcr.microsoft.com/mssql/server:2019-latest

错误:

镜像操作系统“linux”不能在这个平台上使用

我在 Windows Server Core 2022 平台上运行 docker

客户端应用程序是 Docker 应用程序版本 0.8.0 服务器显示两个图像 ltsc2022 和 1809-amd64 [纳米服务器图像] 服务器版本为20.10.7 内核版本为10.0.20348

我不知道已安装 Linux,因此该错误有点令人困惑。 Windows Server Core 2022 是否预装了 Linux?当错误状态“linux”不能在这个平台上使用时是什么意思?

查看任务管理器的服务选项卡,显示 Docker 引擎已启动并正在运行。

【问题讨论】:

SQL Server 的 docker 镜像是基于 Linux 的;这就是为什么您会收到有关 Linux 的错误消息。我没有深入研究,但我怀疑通过 Docker 的 Linux 容器在 Windows Server 2022(核心)上尚不支持。 这似乎有问题,因为Update- Beta program for SQL Server on Windows container is suspended 所以不会有 SQL Server 的 Windows 容器版本。 Windows Server 仅支持 Windows 容器。您需要使用 Docker 创建一个 Linux VM 来运行官方 SQL Server Linux 映像。尽管您可以在安装了 SQL Server 的情况下创建自己的自定义 docker Windows Server 核心映像,但这是一个完全不受支持的配置,因此风险自负。 【参考方案1】:

您不能提取 mcr.microsoft.com/mssql/server:2019-latest,因为它是基于 Linux 的。您说您已经提取了 ltsc2022 和 1809-amd64 [nanoserver images],因此您可以在其中任何一个上安装 SQL Server 2019,因为我已经这样做了,请参阅以下链接以获取示例:https://www.sqlservercentral.com/articles/polybase-scale-out-group-in-azure-for-free

【讨论】:

以上是关于SQL Server Docker 容器能否在 Windows Server core 2022 上运行(“linux”不能在此平台上使用)的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到 docker 容器内的 SQL Server

初始化后,SQL Server docker容器停止

无法从 Docker 容器连接到外部 SQL Server

无法从 docker 容器连接到 SQL Server

如何在 Mac 上将 ASP.Net Core 连接到 SQL Server Docker 容器

通过 Docker 实现在 Linux 容器中运行 Microsoft SQL Server 数据库