windows server2019使用docker?

Windows Server 2019 上使用 Docker 是可行的,但有一些限制和特定要求。以下是详细说明:


✅ 是否支持 Docker?

是的,Windows Server 2019 支持运行 Docker,但只能运行 Windows 容器(Windows Containers),不能直接运行 Linux 容器(除非使用 Hyper-V 隔离 + LCOW,但已不推荐且不稳定)。

⚠️ 注意:从 Docker Desktop 3.1 开始,Docker Desktop 不再支持 Windows Server。你必须使用 Docker Engine for Windows Server 或迁移到 containerd + Kubernetes(如 AKS-Engine、K3s 等)


✅ 支持的容器类型

类型 是否支持 说明
Windows 容器 ✅ 支持 推荐方式,基于 Windows 内核
Linux 容器(LCOW) ❌ 已弃用 微软已停止支持 LCOW(Linux Containers on Windows)

✅ 安装 Docker Engine on Windows Server 2019

步骤 1:启用容器功能

以管理员身份运行 PowerShell:

Install-WindowsFeature -Name Containers

重启服务器:

Restart-Computer -Force

步骤 2:安装 Microsoft 更新源(可选但推荐)

# 安装 OneGet 提供商来管理包源
PowerShellGetInstall-Module -Name DockerMsftProvider -Repository PSGallery -Force

步骤 3:安装 Docker Engine

Install-Package -Name docker -ProviderName DockerMsftProvider -Force

步骤 4:重启系统

Restart-Computer -Force

步骤 5:验证安装

docker --version
docker run hello-world:nanoserver

💡 注意:hello-world:nanoserver 是适用于 Windows 容器的测试镜像。


✅ 常见问题与注意事项

1. 主机与容器版本兼容性

  • Windows Server 2019 的内核版本是 10.0.17763
  • 所有容器镜像的基础镜像(如 mcr.microsoft.com/windows/servercore:ltsc2019)必须匹配或低于主机版本。
  • 示例:
    FROM mcr.microsoft.com/windows/servercore:ltsc2019

2. 存储驱动

默认使用 windowsfilter 驱动,不支持 AUFS 或 OverlayFS。

3. 网络模式

支持以下网络模式:

  • NAT(默认)
  • Transparent(桥接)
  • L2 Bridge / VLAN
  • 仅限本地主机通信

配置示例:

docker network create -d transparent my-transparent-net

✅ 推荐替代方案(现代做法)

由于 Docker Engine 在 Windows 上维护有限,微软建议转向更现代的容器运行时:

✔️ 使用 containerd + Kubernetes (e.g., AKS, K3s)

  • 更轻量、更稳定
  • 支持 CRI(容器运行时接口)
  • 适合生产环境

工具推荐:

  • Rancher K3s 支持 Windows 节点(实验性)
  • Azure Kubernetes Service (AKS) 支持混合集群(Linux + Windows 节点)

❌ 不支持的功能

功能 说明
Docker Desktop 不支持 Windows Server
Docker Swarm(高级功能) 功能受限,不推荐用于新项目
Linux 容器(LCOW) 已废弃,不稳定
GUI 管理工具(如 Portainer) 可运行,但需额外部署

✅ 实际应用建议

如果你要在 Windows Server 2019 上部署容器化应用,请:

  1. 使用 .NET Framework/.NET Core 应用打包为 Windows 容器
  2. 基于 servercore:ltsc2019nanoserver:ltsc2019 构建镜像
  3. 使用 PowerShell 或 CI/CD 自动化构建和部署
  4. 考虑未来迁移到 Windows Server 2022 或 Azure 容器服务

📚 参考文档

  • Microsoft Docs: Install Docker EE on Windows Server
  • Docker 官方 Windows 文档
  • Nano Server 容器镜像

总结

项目 支持情况
Windows 容器 ✅ 完全支持
Linux 容器 ❌ 不推荐,已弃用
Docker Desktop ❌ 不支持
生产部署 ⚠️ 可行,但建议考虑 containerd/Kubernetes
推荐系统 Windows Server 2019 LTSC + Docker Engine

如果你提供具体用途(如部署 IIS、.NET 应用等),我可以给出具体的 Dockerfile 示例。

未经允许不得转载:CLOUD技术博 » windows server2019使用docker?