云服务器Windows Server 2022安装docker?

在 Windows Server 2022 上安装 Docker,最推荐的方式是使用 Docker Desktop for Windows(包含 WSL 2 后端)或者直接使用 Docker Engine for Windows

考虑到云服务器通常对资源占用和稳定性有较高要求,且 Windows Server 2022 默认支持 WSL 2,以下是两种主流方案的详细步骤。


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

这是最简单的安装方式,它集成了图形化管理界面、WSL 2 引擎和所有工具。适合大多数场景,但需要一定的内存和 CPU 资源。

1. 前置条件检查

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

  • 虚拟化开启:必须在云服务商控制台(如阿里云、腾讯云、AWS 等)的实例设置中开启“嵌套虚拟化”或"Intel VT-x/AMD-V"功能。
  • 操作系统版本:必须是 Windows Server 2022 标准版或数据中心版。
  • 更新系统:运行 Update-Module -Name Microsoft.WindowsSubsystemForLinux 或直接通过 Windows Update 将系统更新到最新版本。

2. 安装步骤

  1. 下载安装包
    访问 Docker 官网 下载适用于 Windows 的安装包(通常是 .exe 文件)。

    注意:如果服务器没有图形界面(Server Core),此方案不适用,请直接看方案二。

  2. 运行安装程序
    双击运行下载的 Docker Desktop Installer.exe

  3. 配置选项
    在安装向导中,务必勾选 "Use the WSL 2 based engine"(使用基于 WSL 2 的引擎)。这是性能最好且兼容性最强的模式。

  4. 完成安装并重启
    点击 Install,等待完成后重启服务器。

  5. 启动验证
    重启后,打开 PowerShell(以管理员身份),输入:

    docker --version
    docker run hello-world

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


方案二:使用 Docker Engine for Windows (推荐用于生产环境/无 GUI)

如果你使用的是 Windows Server Core(无图形界面)或者希望更轻量级的部署,可以直接安装 Docker Engine。这种方式不需要 Docker Desktop 的图形界面,资源占用更低。

1. 启用 WSL 2 子系统

即使不装 Docker Desktop,Docker Engine 也需要 WSL 2 作为底层容器运行时。

# 启用 WSL 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 启用虚拟机平台功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

# 重启服务器
Restart-Computer

2. 安装 Docker Engine

由于没有图形界面,我们需要通过脚本自动安装。

  1. 下载安装脚本
    在 PowerShell 中运行以下命令下载官方安装脚本:

    Invoke-WebRequest -Uri https://raw.githubusercontent.com/microsoft/Windows-Containers/main/tools/install-docker.ps1 -OutFile install-docker.ps1

    (注:如果上述链接失效,请手动从 GitHub 仓库获取最新脚本,或参考微软官方文档使用 Install-DockerEngine 模块)

  2. 执行安装
    运行脚本进行安装(该脚本会自动处理依赖和配置):

    .install-docker.ps1 -AcceptLicense

    如果提示缺少依赖项,可能需要先安装最新的 .NET Runtime 或 Visual C++ Redistributable。

  3. 替代方案(手动 MSI 安装)
    如果脚本无法运行,也可以直接下载 Docker Engine 的 MSI 安装包:

    • 访问 Docker Hub 的 releases 页面,下载 docker-ce_*.msidocker-engine-*.msi
    • 使用命令行静默安装:
      msiexec /i docker-engine-24.0.x.msi /quiet /qn /norestart

3. 验证安装

docker --version
docker run hello-world

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

  1. 网络与安全组
    安装 Docker 后,如果你需要在外部访问容器内的服务(例如端口 80, 443, 8080),请务必去云服务商的控制台配置 安全组规则,放行相应端口。

    • 在 Windows 内部防火墙中,Docker 通常会自动创建规则,但云厂商的安全组是必须手动配置的。
  2. 资源限制
    Windows Server 本身比 Linux 占用更多内存。在云服务器上运行 Docker 时,建议为容器分配合理的资源限制(通过 --memory 参数),防止宿主机内存耗尽导致宕机。

  3. 持久化存储
    云服务器的磁盘通常挂载了数据盘。建议将 Docker 的数据目录(默认在 C:ProgramDataDocker)迁移到数据盘,或者在启动容器时使用 -v 参数将数据映射到非系统盘,以防系统重装导致数据丢失。

    # 示例:将数据卷映射到 D 盘
    docker run -d -v D:mydata:/data nginx
  4. 关于 Linux 容器的选择
    Windows Server 上的 Docker 可以运行 Windows 容器,也可以运行 Linux 容器(通过 WSL 2)。

    • 如果你的应用是跨平台的(如 Nginx, Redis, MySQL),强烈建议使用 Linux 容器镜像,因为它们在 WSL 2 上运行效率更高,且社区支持更好。
    • 只有当应用强依赖 Windows 特有组件(如 .NET Framework 旧版本、IIS 特定模块)时,才使用 Windows 容器。

总结

  • 有图形界面 + 追求易用性:选择 Docker Desktop
  • 无图形界面 (Core) + 追求轻量/稳定:选择 Docker Engine + WSL 2

安装完成后,记得立即配置好云服务器的安全组策略,即可开始部署应用。

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