Windows Server 2022 Standard安装docker?

在 Windows Server 2022 Standard 上安装 Docker,最推荐且稳定的方式是使用 Docker Desktop for Windows(基于 WSL 2 后端)或 Docker Engine(传统模式)。

由于你是服务器环境(Standard 版),通常建议根据具体需求选择:

  • 开发/测试场景:推荐使用 Docker Desktop,因为它自带图形界面和容器管理工具,配置简单。
  • 生产/无头(Headless)场景:推荐使用 Docker Engine (CLI),资源占用更低,无需 GUI。

以下是两种主流方案的详细步骤:


方案一:安装 Docker Desktop(推荐用于开发与测试)

这是最简单的方法,会自动处理依赖项并启用 WSL 2 后端。

1. 前置条件检查

确保你的服务器满足以下要求:

  • 操作系统:Windows Server 2022 Standard (需包含桌面体验或至少支持 PowerShell)。
  • 虚拟化:BIOS 中必须开启 Intel VT-x / AMD-V 虚拟化技术。
  • 功能启用:确保已安装 "Containers" 功能。
    # 以管理员身份运行 PowerShell
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
    Enable-WindowsOptionalFeature -Online -FeatureName Containers
    Restart-Computer
  • WSL 2 支持:虽然 Docker Desktop 可以自动安装,但建议手动确认 WSL 2 内核已更新。

2. 下载与安装

  1. 访问 Docker Hub 或 GitHub 发布页下载 Docker Desktop for Windows
    • 注意:如果是纯服务器版(Server Core),无法安装带有 GUI 的 Docker Desktop,请直接跳转至【方案二】。
  2. 运行安装程序 (DockerDesktop.exe)。
  3. 在安装向导中,确保勾选 "Use WSL 2 instead of Hyper-V"(使用 WSL 2 而不是 Hyper-V),这能提供更好的性能。
  4. 完成安装后重启计算机。

3. 验证安装

打开 PowerShell,输入:

docker --version
docker run hello-world

如果看到欢迎信息,说明安装成功。


方案二:安装 Docker Engine(推荐用于生产环境/Server Core)

如果你使用的是 Windows Server 2022 Standard without Desktop Experience(无桌面体验版),或者希望更轻量级的部署,请采用此方案。

1. 启用必要功能

管理员身份运行 PowerShell,执行以下命令启用容器支持并重启:

# 启用容器功能
Install-WindowsFeature -Name Containers -IncludeManagementTools

# 重启服务器(可选,部分情况下不需要立即重启,但建议重启以确保服务加载)
Restart-Computer

2. 获取 Docker 安装包

由于官方不再提供直接下载的 .msi 文件链接(需要脚本自动获取),我们可以使用 PowerShell 脚本来下载最新版本的 MSI 安装包。

创建一个名为 install-docker.ps1 的文件,内容如下:

# 设置变量
$os = Get-CimInstance Win32_OperatingSystem | Select-Object -ExpandProperty Version
$architecture = (Get-CimInstance Win32_Processor).Architecture[0] # 64-bit = 9

if ($architecture -ne 9) {
    Write-Error "Only x64 architecture is supported."
    exit 1
}

# 构建下载 URL (这里以稳定版为例,实际使用时建议去官网查最新 URL)
# 注意:微软官方提供了专门的脚本仓库
$scriptUrl = "https://raw.githubusercontent.com/microsoft/Docker-for-Windows/main/scripts/install-docker-engine.ps1"

# 执行安装脚本
Invoke-WebRequest -Uri $scriptUrl -OutFile install-docker-engine.ps1
.install-docker-engine.ps1

更稳妥的方式是直接使用微软提供的官方 PowerShell 脚本进行自动化安装(无需手动找 MSI):

直接运行以下命令(一键安装最新版 Docker Engine):

# 1. 下载并执行微软官方安装脚本
$url = "https://aka.ms/docker-windows-server-install"
Invoke-WebRequest -Uri $url -OutFile docker-install.ps1
.docker-install.ps1

(注:如果上述短链接失效,请访问 Docker 官方文档获取最新的 docker-install.ps1 脚本)

3. 验证安装

docker --version
docker run hello-world

常见问题与注意事项

  1. WSL 2 与 Hyper-V 的选择

    • 在 Windows Server 2022 上,WSL 2 是目前 Docker 推荐的运行时,性能更好且兼容 Linux 容器特性更完整。
    • 如果你必须使用 Hyper-V 隔离(例如某些旧版安全策略),可以在 Docker 配置文件中指定,但通常不建议。
  2. 网络问题

    • 安装后如果拉取镜像失败(如 pulling from docker.io),通常需要配置国内镜像提速器。
    • 编辑 C:ProgramDatadockerconfigdaemon.json (路径可能因版本略有不同),添加以下内容:
      {
        "registry-mirrors": [
          "https://docker.m.daocloud.io",
          "https://huecker.io",
          "https://dockerhub.timeweb.cloud"
        ]
      }
    • 修改后重启 Docker 服务:Restart-Service docker
  3. 权限问题

    • 默认情况下,只有 Administrators 组的用户才能运行 Docker 命令。如果需要普通用户运行,可以将该用户加入 docker-users 组(如果存在)或使用 New-DockerGroup 创建。
  4. License 许可

    • Windows Server 2022 本身对容器数量没有限制,但如果你使用 Docker Desktop,请注意其个人免费和商业使用的条款限制。对于企业生产环境,建议使用 Docker Engine 并通过订阅获得官方技术支持。

总结

  • 有桌面环境 + 开发调试 -> 选 Docker Desktop
  • 无桌面环境 (Server Core) + 生产部署 -> 选 Docker Engine (Script Install)

如果在执行过程中遇到具体的报错信息,请提供错误日志,我可以进一步协助排查。

未经允许不得转载:CLOUD云枢 » Windows Server 2022 Standard安装docker?