windows server 2019可以用docker吗?

是的,Windows Server 2019 可以使用 Docker,但有一些前提条件和限制需要注意。


✅ 支持情况概述

Windows Server 2019 原生支持 Docker 容器运行时,特别是:

  • 支持 Windows 容器(基于 Windows Server Core 或 Nano Server 镜像)
  • 不支持直接运行 Linux 容器(除非启用特定功能)

🛠️ 如何在 Windows Server 2019 上安装 Docker

方法一:通过 PowerShell 安装(推荐)

  1. 以管理员身份打开 PowerShell

  2. 安装容器功能

    Install-WindowsFeature -Name Containers
  3. 重启服务器

    Restart-Computer -Force
  4. 安装 Docker Engine(作为 Windows 功能)

    Docker 在 Windows Server 2019 中可以通过 Microsoft 提供的 Docker-Microsoft Package Manager (aka “docker-provider”) 安装。

    # 安装 NuGet 包管理器(如果未安装)
    Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
    
    # 注册 Docker Provider(旧版方式,适用于较早版本)
    # 注意:从 2020 年起,微软推荐使用 MSI 安装包或直接部署 Moby/Docker-EE

    ⚠️ 注意:微软不再通过 PowerShell Gallery 推荐 Install-Module DockerMsftProvider,因为已弃用。

  5. 推荐方式:下载并安装 Docker EE for Windows Server(或使用社区版替代方案)

    实际上,现在更推荐使用:

    • Docker Desktop for Windows Server(有限支持)
    • 或者使用 Mirantis Container Runtime(原 Docker EE 的延续)
    • 或使用开源项目如 Moby + containerd + runc 手动搭建

    👉 下载地址示例:

    • Mirantis: https://www.mirantis.com/software/mcr/
    • GitHub Moby: https://github.com/moby/moby
  6. 验证安装

    docker --version
    docker run hello-world:nanoserver

🐳 支持的容器类型

容器类型 是否支持 说明
Windows 容器 ✅ 是 支持 Server Core、Nano Server 镜像
Linux 容器 ⚠️ 有条件 需要 WSL2 或 Hyper-V 隔离(仅在特定配置下可用)

❗ 在标准 Windows Server 2019 上,默认不支持原生 Linux 容器。若需要运行 Linux 容器,需满足:

  • 启用 Hyper-V 和 WSL2(但 WSL2 主要适用于 Windows 10/11,Server 版本支持有限)
  • 使用双机架构(Linux VM 跑 Docker)

🔧 系统要求

  • 操作系统:Windows Server 2019(完整安装或 Server Core)
  • .NET Framework 4.7.2 或更高
  • PowerShell 5.1+
  • 至少 4GB 内存(建议 8GB+)
  • 启用嵌套虚拟化(如果运行在虚拟机中)

📌 注意事项

  1. Docker 版本更新缓慢:相比 Linux,Windows 上的 Docker 更新较慢。
  2. 镜像体积大:Windows 容器镜像通常比 Linux 大得多。
  3. 兼容性问题:某些应用可能无法轻易移植到 Windows 容器。
  4. 生产环境建议:对于大规模容器部署,推荐使用 Kubernetes(如 AKS、OpenShift)配合 Windows 节点。

✅ 总结

问题 回答
Windows Server 2019 能用 Docker 吗? ✅ 可以
支持什么类型的容器? ✅ Windows 容器;❌ 默认不支持 Linux 容器
如何安装? 通过 Install-WindowsFeature Containers + 安装 Docker 引擎(推荐 Mirantis 或手动部署)
是否适合生产? ✅ 可用于运行 Windows 应用容器化场景

如果你打算将现有应用容器化,建议使用:

FROM mcr.microsoft.com/windows/servercore:ltsc2019

或

FROM mcr.microsoft.com/windows/nanoserver:ltsc2019

如有具体应用场景(如 IIS、SQL Server、.NET 应用容器化),欢迎继续提问!

未经允许不得转载:CLOUD技术博 » windows server 2019可以用docker吗?