云服务器Windows Server 2022安装docker?

在 Windows Server 2022 上安装 Docker,目前官方推荐的方式是安装 Docker Desktop for Windows(包含 WSL 2 后端),或者使用传统的 Moby/Kubernetes 方案。

由于 Windows Server 2022 默认没有开启 Hyper-V 和 WSL 功能,且 Docker Desktop 对服务器版系统的支持需要特定的配置,以下是两种最主流的安装方案。


方案一:使用 Docker Desktop (推荐,适合开发/测试)

这是最简单、体验最好的方式。它会自动配置 WSL 2 后端,支持图形化界面管理容器。

1. 前置环境检查与开启

Windows Server 2022 默认关闭了必要的虚拟化功能,必须先开启它们。

管理员身份运行 PowerShell,执行以下命令开启必需的功能并重启:

# 开启 Hyper-V, Containers, WSL, Virtual Machine Platform
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V-All /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:Containers /all /norestart

# 重启服务器(必须)
Restart-Computer

注意:如果在云厂商控制台(如阿里云、AWS、Azure)购买实例,请确认该实例类型是否支持嵌套虚拟化(Nested Virtualization)。如果不确定,建议先咨询云服务商或尝试方案二。

2. 下载并安装 Docker Desktop

  1. 访问 Docker 官网下载页面:https://www.docker.com/products/docker-desktop/
  2. 下载 Windows x64 版本的安装包 (Docker%20Desktop%20Installer.exe)。
  3. 运行安装程序,按照向导操作。
    • 在安装选项中,确保勾选 "Use WSL 2 instead of Hyper-V"(WSL 2 性能更好,兼容性更佳)。
  4. 安装完成后,点击启动 Docker Desktop。首次启动会初始化 WSL 2 发行版,可能需要几分钟。

3. 验证安装

打开 PowerShell,输入:

docker --version
docker run hello-world

如果看到 "Hello from Docker!" 字样,说明安装成功。


方案二:使用 Docker Engine (无 GUI,适合生产环境)

如果你不需要图形界面,或者云服务器的 CPU/内存资源有限,不想运行 Docker Desktop 的后台服务,可以直接安装轻量级的 Docker Engine。

1. 准备脚本

Docker 官方提供了针对 Windows Server 的自动化安装脚本。

  1. 管理员身份运行 PowerShell。
  2. 运行以下命令下载并执行安装脚本(脚本会自动处理依赖、配置镜像源等):
# 下载安装脚本
Invoke-WebRequest -Uri https://raw.githubusercontent.com/microsoft/Docker-For-Windows/master/build/scripts/install.ps1 -OutFile install.ps1

# 执行安装 (添加 -NoPrompt 参数可跳过部分交互)
.install.ps1 -NoPrompt

注意:如果上述链接失效,也可以手动通过 winget 安装:

winget install Docker.DockerEngine

2. 验证安装

安装完成后,同样在 PowerShell 中验证:

docker --version
docker run hello-world

⚠️ 云服务器特别注意事项

在云服务器上使用 Docker 时,请务必注意以下几点,否则可能导致网络不通或无法拉取镜像:

  1. 网络模式问题

    • NAT 限制:Docker Desktop 默认使用 NAT 网络。如果你在本地机器通过公网 IP + 端口映射访问容器,通常没问题。但如果是跨主机访问容器间通信,需确认云安全组规则已放行相应端口。
    • 端口映射:在运行容器时,务必使用 -p 参数将容器端口映射到宿主机端口(例如 -p 8080:80),并在云控制台的安全组/防火墙中开放该端口。
  2. 镜像提速

    • 国内用户直接拉取 Docker Hub 镜像速度极慢甚至超时。
    • 解决方法:编辑 C:ProgramDatadockerconfigdaemon.json 文件,添加国内镜像提速器地址(如阿里云、腾讯云等提供的地址):
      {
      "registry-mirrors": [
        "https://your-mirror-id.m.daocloud.io",
        "https://docker.mirrors.ustc.edu.cn"
      ]
      }
    • 修改后重启 Docker 服务:Restart-Service docker
  3. 资源消耗

    • Docker Desktop 包含一个完整的 WSL 2 虚拟机,会占用一定的内存和磁盘空间。对于低配服务器(如 1核2G),建议优先选择方案二(Docker Engine),或者手动限制 WSL 的资源分配。

总结

  • 新手/开发环境:直接使用 方案一 (Docker Desktop),体验最好,但需注意资源占用。
  • 生产环境/低配服务器:建议使用 方案二 (Docker Engine),更轻量,无图形界面干扰。

安装完成后,记得配置好云服务器的安全组规则,否则即使容器运行正常,外部也无法访问。

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