windows server 2022如何使用docker?

在 Windows Server 2022 上使用 Docker,你可以选择以下两种主要方式之一:

  1. 使用 Microsoft 的容器支持(推荐):通过安装 Docker Desktop for Windows Server 或更现代的方式 —— 使用 containerd + Docker CLI(即 Moby 项目组件),或直接使用 Microsoft’s Container Tools
  2. 使用 Windows 容器(原生支持):Windows Server 2022 原生支持运行 Windows 容器 和有限的 Linux 容器(通过 WSL2,但服务器版不默认支持 WSL2)。

🚀 推荐方案:在 Windows Server 2022 上安装 Docker

⚠️ 注意:Docker Desktop 官方不再支持 Windows Server。因此,我们推荐使用 Docker Engine 的社区版本(Moby),通过 PowerShell 安装。


✅ 步骤 1:启用容器功能

以管理员身份打开 PowerShell 并运行:

# 安装容器功能
Install-WindowsFeature -Name Containers

# 重启服务器
Restart-Computer -Force

✅ 步骤 2:安装 Microsoft 更新源和容器工具

# 安装 PowerShell 包管理工具(如果未安装)
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force

# 注册 Microsoft 更新源(用于获取容器相关模块)
Register-PSRepository -Name Microsoft -SourceLocation https://aka.ms/ContainerModule -InstallationPolicy Trusted

# 安装容器工具模块
Install-Module -Name Microsoft.Windows.Server.Containers.Tools -Repository Microsoft

✅ 步骤 3:安装 Docker Engine(Moby)

# 下载并安装 Docker Engine(Moby)
Invoke-WebRequest "https://github.com/moby/moby/releases/download/v24.0.7/DockerMsftProvider.zip" -OutFile "DockerMsftProvider.zip"
Expand-Archive DockerMsftProvider.zip -DestinationPath $env:ProgramFilesWindowsPowerShellModules
Remove-Item DockerMsftProvider.zip

# 安装 Docker
Install-Module -Name DockerMsftProvider -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -Force

# 启动 Docker 服务
Start-Service docker

# 设置开机自启
Set-Service docker -StartupType Automatic

💡 提示:你也可以使用 Update-Package -Name docker -ProviderName DockerMsftProvider 来更新 Docker。


✅ 步骤 4:验证安装

# 查看 Docker 版本
docker --version

# 查看信息
docker info

你应该能看到类似输出:

Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 24.0.7
...

✅ 步骤 5:运行第一个容器(Windows 容器)

# 拉取一个 Windows Server Core 镜像(根据你的系统版本选择)
docker pull mcr.microsoft.com/windows/servercore:iiswindowsserver

# 运行一个 IIS 容器
docker run -d -p 8080:80 --name myiis mcr.microsoft.com/windows/servercore/iis

# 访问 http://localhost:8080 看到 IIS 欢迎页

⚠️ 注意:Windows 容器必须与宿主机版本兼容(如 Windows Server 2022 对应镜像 tag 为 ltsc2022)。

例如:

docker pull mcr.microsoft.com/windows/servercore:ltsc2022

✅ 可选:安装 Docker CLI 工具(如 docker-compose)

# 安装 Docker Compose
Invoke-WebRequest "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-windows-x86_64.exe" -UseBasicParsing -OutFile $env:ProgramFilesDockerdocker-compose.exe

然后就可以使用:

docker-compose --version

❌ 不支持的功能说明

  • Docker Desktop:不支持 Windows Server,仅支持 Windows 10/11 Pro/Enterprise。
  • WSL2 后端:Windows Server 默认不支持 WSL2,因此无法运行 Linux 容器(除非你手动配置特殊 Hyper-V 虚拟机)。
  • Linux 容器:Windows Server 2022 不能原生运行 Linux 容器,除非你使用双层虚拟化(不推荐生产环境)。

✅ 生产建议

  • 使用 Kubernetes + containerd 管理容器(如 AKS-Engine、Rancher、OpenShift)。
  • 或继续使用 Docker CLI + Windows 容器 进行简单部署。
  • 镜像尽量使用 mcr.microsoft.com 官方来源,确保安全。

🔗 参考资料

  • Microsoft 容器文档
  • Docker Engine on Windows
  • Moby GitHub 发布页

如果你希望运行 Linux 容器,建议改用 Windows 11 + WSL2 + Docker Desktop,或使用 Linux 服务器(如 Ubuntu + Docker) 更合适。

如有具体应用场景(如部署 ASP.NET 应用),欢迎继续提问!

未经允许不得转载:秒懂云 » windows server 2022如何使用docker?