速卖通素材
努力

云服务器windows server如何安装docker?

服务器

在 Windows Server 上安装 Docker,目前最推荐的方式是安装 Docker Desktop for Windows(它基于 WSL 2 或 Hyper-V),或者直接使用 Docker Engine for Windows

由于 Windows Server 通常用于生产环境,且默认可能未开启虚拟化功能,以下是两种主流方案的详细步骤。


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

这是最简单的方式,图形化界面友好,自动处理了底层依赖。但请注意,Docker Desktop 的商业许可条款对部分大规模生产场景有限制,如果是纯生产环境且无 GUI,建议看方案二。

1. 前置条件检查

在开始之前,请确保你的 Windows Server 满足以下条件:

  • 操作系统:Windows Server 2016, 2019, 或 2022。
  • 虚拟化支持:必须在 BIOS/UEFI 中开启 VT-x/AMD-V 虚拟化技术。
  • WSL 2 (可选但推荐):如果系统较新,Docker Desktop 会自动配置 WSL 2 后端。
  • Hyper-V:需要启用 Hyper-V 角色(Docker Desktop 安装时会自动尝试启用)。

2. 下载与安装

  1. 访问 Docker 官网下载页。
  2. 下载 Docker Desktop.exe
  3. 管理员身份运行安装程序。
  4. 按照向导点击 "Next" 和 "Install"。
    • 在安装选项中,勾选 "Use WSL 2 instead of Hyper-V"(如果可用,性能更好)。
  5. 安装完成后,点击 Finish,然后重启服务器(必须重启以加载虚拟化驱动)。

3. 验证安装

重启后,打开 PowerShell(管理员模式),输入以下命令:

docker --version
docker run hello-world

如果看到 "Hello from Docker!" 的欢迎信息,说明安装成功。


方案二:使用 Docker Engine(适合生产环境/无 GUI 服务器)

如果你不需要图形界面,或者 Docker Desktop 不符合商业许可要求,可以直接安装 Docker Engine。这需要手动配置 WSL 2 或 Hyper-V 后端。

1. 启用必要功能

首先需要在 PowerShell(管理员)中启用 Hyper-V 和容器功能:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
# 对于 Server 2019/2022,通常还需要启用容器功能
Enable-WindowsOptionalFeature -Online -FeatureName Containers

执行后需重启服务器。

2. 下载并安装 Docker Engine MSI

  1. 访问微软官方镜像库或 Docker Hub 获取适用于 Windows Server 的 MSI 安装包。

    • 通常路径为:https://download.docker.com/win/static/stable/x86_64/ (注意:这里通常是静态版本,生产环境更推荐通过脚本安装)。
    • 更推荐的方式:使用官方提供的 PowerShell 脚本进行自动化安装(无需手动下载 MSI)。
  2. 在 PowerShell(管理员)中运行以下脚本来安装最新版本的 Docker Engine:

    # 设置环境变量以便后续使用
    $env:DOCKER_VERSION = "stable"
    
    # 下载并运行安装脚本
    Invoke-WebRequest -Uri "https://raw.githubusercontent.com/microsoft/Windows-Containers/main/tools/DockerInstall.ps1" -OutFile "DockerInstall.ps1"
    .DockerInstall.ps1

    (注:如果上述脚本无法直接运行,也可以手动下载对应的 .msi 文件,例如 docker-<version>.msi,然后双击安装。)

3. 配置 WSL 2 后端(关键步骤)

Docker Engine on Windows 强烈建议使用 WSL 2 后端以获得最佳性能和 Linux 兼容性。

  1. 确保已安装 WSL 2:
    wsl --install -d Ubuntu

    (如果是首次安装,可能需要重启)

  2. 将默认版本设置为 WSL 2:
    wsl --set-default-version 2

4. 验证安装

同样在 PowerShell 中运行:

docker version
docker run hello-world

常见问题与注意事项

  1. 权限问题

    • 如果在运行 docker run 时遇到 "Access Denied" 错误,请确保当前用户属于 docker-users 组,或者以管理员身份运行终端。
    • 在 Windows Server 上,有时需要将用户添加到本地组:
      net localgroup docker-users <用户名> /add
  2. 网络配置

    • Windows Server 作为云服务器时,防火墙可能会拦截 Docker 端口。如果容器无法联网,请检查安全组规则(云厂商控制台)和本地防火墙(允许 docker0, nat, bridge 等虚拟网卡流量)。
  3. 资源限制

    • 在云服务器上,建议根据实例规格调整 Docker 的资源限制。可以在 C:ProgramDataDockerconfigdaemon.json 中配置内存和 CPU 限制,防止 Docker 耗尽服务器资源导致业务中断。
    • 示例配置:
      {
        "max-concurrent-downloads": 10,
        "default-ulimits": {
          "nofile": {
            "Name": "nofile",
            "Hard": 65536,
            "Soft": 65536
          }
        },
        "storage-driver": "overlay2"
      }
  4. Linux 容器 vs Windows 容器

    • 默认情况下,Docker 会运行 Linux 容器(需要 WSL 2 或 Hyper-V 虚拟机隔离)。
    • 如果你必须运行 Windows 容器(例如运行旧的 .NET Framework 应用),请在 Docker Desktop 右下角图标菜单中切换为 "Switch to Windows containers",并确保安装了相应的 Windows 基础镜像。

总结建议

  • 如果是个人学习、开发或小型测试,直接安装 Docker Desktop 最快最稳。
  • 如果是正式生产环境且追求轻量化,请使用 Docker Engine + WSL 2 方案,并配合 daemon.json 优化资源配置。
未经允许不得转载:轻量云Cloud » 云服务器windows server如何安装docker?