Windows Server 2022 Standard安装Docker desktop?

Windows Server 2022 Standard 上安装 Docker Desktop 需要特别注意,因为 Docker Desktop 对服务器操作系统的支持与 Windows 10/11 不同。

核心结论

Docker Desktop 官方并不直接支持 Windows Server 2022 作为“桌面版”环境运行。

  • 原因:Docker Desktop 依赖 WSL 2 (Windows Subsystem for Linux) 或 Hyper-V 的图形化管理界面(GUI),而 Windows Server 通常没有安装图形界面(Server Core)或默认未启用 WSL 功能。此外,Docker Desktop 的安装程序会检测系统版本,在非客户端系统(如 Server)上可能会拒绝安装或功能受限。
  • 替代方案:在 Windows Server 上,微软和 Docker 官方推荐直接使用 Docker Engine for Windows(通过 MSI 或 PowerShell 脚本安装),而不是 Docker Desktop。

推荐方案:安装 Docker Engine for Windows

这是在生产环境(Windows Server)中最标准、最稳定的做法。它不包含图形界面,而是通过命令行管理容器。

步骤 1:确认系统要求

确保你的 Windows Server 2022 满足以下条件:

  1. 已启用 Hyper-V 功能(或者使用 Containers 功能)。
  2. 已开启 虚拟化 支持(BIOS/UEFI 设置中)。
  3. 建议安装最新的 .NET Framework 6.0+(通常 Server 自带)。

步骤 2:安装 Docker Engine

你可以通过以下两种主要方式之一进行安装:

方法 A:使用 PowerShell 自动安装脚本(推荐)

这是最简单的方法,由 Docker 官方提供。

  1. 管理员身份 打开 PowerShell。
  2. 运行以下命令下载并执行安装脚本:

    Invoke-WebRequest -UseBasicParsing -Uri "https://get.docker.com/builds/Windows/x86_64/docker.tgz" -OutFile "docker.tgz"

    注意:如果上述链接失效,建议使用 Docker Hub 上的官方 MSI 安装包(见方法 B),或者使用社区维护的自动化脚本 Install-Docker.ps1(需从 GitHub 获取)。

    更通用的手动安装步骤(使用官方 MSI):

    1. 访问 Docker 官方发布页面下载适合 Server 的 MSI 包(通常名为 Docker-Desktop-Windows.msi 可能不兼容,请寻找 Docker Engine for Windows 的 MSI,文件名通常类似 docker-<version>.msi,或者直接从 GitHub Releases 下载 docker-desktop 以外的版本,但在 Server 上通常直接使用 docker-engine)。

    实际上,对于 Server 2022,最稳妥的方式是使用 Docker 提供的离线安装包或通过 Chocolatey 安装:

    使用 Chocolatey (如果已安装):

    choco install docker-engine --params '"/InstallDockerEngine:True"'

    使用官方 MSI (手动):

    1. 前往 Docker Hub 或 GitHub Release 页面。
    2. 查找 Docker Engine for Windows 的 MSI 文件(注意区分 Desktop 和 Engine)。
    3. 双击运行 MSI 进行安装。
方法 B:验证安装

安装完成后,打开新的 PowerShell 窗口,运行:

docker version

如果看到 Client 和 Server 版本信息,说明安装成功。


如果你必须使用 Docker Desktop (仅限开发测试环境)

如果你是在本地开发机上安装了 Server 2022 且带有完整的 GUI(不是 Server Core),并且必须使用 Docker Desktop 的图形界面,你可以尝试以下步骤,但不保证稳定性

  1. 启用 WSL 2:

    • 打开 PowerShell (管理员),运行:
      dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
      dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    • 重启服务器。
    • 将默认版本设置为 WSL 2:
      wsl --set-default-version 2
  2. 安装 Linux 发行版:

    • 在 Microsoft Store 中安装 Ubuntu 或其他 Linux 发行版(如果 Server 无法访问 Store,可手动导入 VHD)。
  3. 安装 Docker Desktop:

    • 下载 Docker Desktop Installer.exe
    • 运行安装程序。如果检测到是 Server 系统,安装程序可能会报错或跳过某些组件。
    • 关键设置:在安装过程中,确保勾选 "Use WSL 2 instead of Hyper-V"

重要提示与最佳实践

  1. 生产环境不要用 Docker Desktop:Docker Desktop 是为开发者设计的,包含大量非必要的后台服务(如 Dashboard、Kubernetes 集成等),不适合高负载的生产服务器。请使用 Docker Engine
  2. 权限问题:在 Server 上,通常需要以管理员身份运行 Docker 命令,或者将用户加入 docker-users 组。
  3. 网络配置:Server 2022 的网络策略可能比桌面版更严格,确保防火墙允许 Docker 相关的端口(如 2375, 2376, 80, 443 等,视具体需求而定)。
  4. 资源限制:Windows Server 的内存和 CPU 调度机制与桌面版略有不同,建议根据实际业务需求调整容器的资源限制。

总结:除非你有特殊的图形化需求且在非生产环境中,否则请在 Windows Server 2022 上直接安装 Docker Engine,而不是 Docker Desktop。

未经允许不得转载:云知识CLOUD » Windows Server 2022 Standard安装Docker desktop?