在 Windows Server 上如何正确安装和配置 Docker Desktop?

在 Windows Server 上安装和配置 Docker Desktop 需要注意几个关键点,因为 Docker Desktop 官方并不直接支持 Windows Server 操作系统(仅支持 Windows 10/11 专业版、企业版或教育版)。但通过特定方式仍可实现类似功能。以下是推荐方案:


✅ 推荐方案:使用 Docker Engine for Windows Server(非 Docker Desktop)

由于 Docker Desktop 依赖 WSL2 和 Hyper-V 的图形化集成,而 Windows Server 默认无桌面环境且不支持 Docker Desktop 安装程序,正确做法是手动安装 Docker Engine。

步骤 1:确认系统要求

  • Windows Server 2019 / 2022(建议最新版)
  • 启用 Hyper-V 角色
  • 启用 Containers 功能
  • 64 位系统,至少 8GB RAM(推荐 16GB+)

步骤 2:启用必要功能

以管理员身份运行 PowerShell:

# 启用 Hyper-V 和 Containers
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName containers

# 重启服务器
Restart-Computer

💡 注意:若为 Core 版本(无 GUI),上述命令同样适用;若为带桌面版,需确保图形界面正常。

步骤 3:下载并安装 Docker Engine

访问微软官方镜像仓库或 GitHub 发布页获取 .msi 安装包:
🔗 https://github.com/microsoft/Docker-for-Windows/releases
选择对应版本的 docker-desktop.exe 不可用,应使用:
✅ Docker Engine for Windows Server(通常名为 docker-engine-x.x.x.msi)
或从以下地址获取稳定版(如 v27.0+):
https://download.docker.com/win/stable/

⚠️ 若无直接链接,可通过 Scoop 或 Chocolatey 安装:

scoop install docker
# 或
choco install docker-ce

步骤 4:验证安装

docker --version
docker info
docker run hello-world

若输出成功,则说明引擎已就绪。


❌ 不推荐的做法

  • 强行运行 DockerDesktopSetup.exe:会失败或报错“不支持此操作系统”。
  • 尝试在非支持的 Server 版本(如 Standard/Datacenter 旧版)上启用 WSL2:虽技术上可行(WSL2 可运行于 Server 2022),但 Docker Desktop 仍无法启动图形界面服务。

🔧 替代方案(高级场景)

如需完整 Docker Desktop 体验(含 UI、Kubernetes 集成等):

  1. 部署在 WSL2 子系统内(仅限 Windows Server 2022 + 启用 WSL2):
    wsl --install -d Ubuntu
    # 进入 Ubuntu 后安装 Docker CLI + Docker Engine(非 Desktop)
    curl -fsSL https://get.docker.com | sh
  2. 使用远程管理:在本地 Windows 10/11 安装 Docker Desktop,通过 DOCKER_HOST=tcp://your-server-ip:2375 连接 Server 上的 Docker Engine。

📌 最佳实践建议

场景 推荐方案
生产环境容器化应用 Docker Engine + Compose/Kubernetes
开发测试环境 本地 Win10/11 + Docker Desktop
需要 GUI 管理工具 Portainer(Web UI)+ Docker Engine

✅ 补充:安装后可部署 Portainer 提供 Web 管理界面:

docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce

如需具体某一步的详细命令或故障排查(如启动失败、权限问题),欢迎告诉我你的服务器版本和错误日志,我可进一步定制解决方案。

云服务器