windows server云服务器如何运行docker?

服务器

在 Windows Server 云服务器上运行 Docker,需要进行一系列配置和安装。以下是详细的步骤指南,适用于支持 Docker 的 Windows Server 版本(如 Windows Server 2016、2019、2022)。


✅ 一、前提条件

  1. Windows Server 版本要求

    • Windows Server 2016 及以上版本。
    • 推荐使用 Windows Server 2019 或 2022 Datacenter 版本,对容器支持更好。
  2. 硬件要求

    • 启用 Hyper-V(Docker 需要虚拟化支持)
    • 至少 4GB 内存,推荐 8GB+
    • 管理员权限
  3. 网络环境

    • 能访问互联网(用于下载 Docker 组件)

✅ 二、启用容器功能

以管理员身份打开 PowerShell,执行以下命令:

# 安装容器功能
Install-WindowsFeature -Name Containers

# 安装 Hyper-V(如果尚未启用,且支持虚拟化)
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools

⚠️ 注意:启用 Hyper-V 后可能需要重启服务器。


✅ 三、重启服务器

Restart-Computer -Force

✅ 四、安装 Docker Engine

Windows 上的 Docker 分为两种模式:

  • Linux 容器(LCOW):通过 WSL2 或 Hyper-V 运行 Linux 容器(推荐)
  • Windows 容器(WCOW):运行原生 Windows 应用容器

方式一:安装 Docker EE(企业版,官方支持)

适用于生产环境:

# 添加 Docker MSI 安装包源
Invoke-WebRequest "https://download.docker.com/components/engine/windows-server/docker.zip" -OutFile "docker.zip" -UseBasicParsing

# 解压
Expand-Archive docker.zip -DestinationPath $env:ProgramFiles

# 将 Docker 添加到系统路径
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";" + "$env:ProgramFilesdocker", [EnvironmentVariableTarget]::Machine)

# 注册 Docker 服务
& $env:ProgramFilesdockerdockerd --register-service

# 启动 Docker 服务
Start-Service docker

方式二:使用 Microsoft 提供的脚本安装(简化方式)

# 安装 OneGet 模块(包管理)
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

# 安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider

# 重启
Restart-Computer -Force

✅ 五、验证安装

重启后,打开 PowerShell:

# 查看 Docker 版本
docker --version

# 查看信息
docker info

# 运行测试容器
docker run hello-world

注意:hello-world 镜像如果是 Linux 的,需要确保已配置 LCOW 支持(见下文)。


✅ 六、配置 Linux 容器支持(可选但推荐)

默认情况下,Docker 在 Windows 上运行的是 Windows 容器。若想运行 Linux 容器,需启用 LCOW(Linux Containers on Windows)

步骤:

  1. 启用 LCOW:
# 创建或修改 daemon.json 配置文件
@"
{
    "experimental": true,
    "features": {
        "lcow": true
    }
}
"@ | Set-Content -Path 'C:ProgramDatadockerconfigdaemon.json'
  1. 重启 Docker 服务:
Restart-Service docker
  1. 下载 LCOW UVM 镜像(首次运行 Linux 容器时自动下载,也可手动):
docker pull microsoft/lcow:latest
  1. 切换容器模式(可选):
# 切换到 Linux 容器模式
& 'C:Program FilesDockerdockerd.exe' -H npipe:// --switch-linux

或使用托盘图标切换(如果有 GUI)。


✅ 七、常见问题排查

问题 解决方案
Docker daemon is not running 执行 Start-Service docker
Not enough memory or CPU 升级云服务器配置
LCOW kernel image not found 确保 daemon.json 配置正确,检查网络
Hyper-V not available 在 BIOS 中开启虚拟化(VT-x/AMD-V),并在 Windows 功能中启用 Hyper-V

✅ 八、使用建议

  • 开发/测试环境:推荐使用 Windows Server + WSL2 + Docker Desktop(如果允许 GUI)
  • 生产环境:使用 Windows 容器 或考虑迁移到 Linux 服务器运行 Docker(性能更好,生态更成熟)
  • 若频繁使用 Linux 容器,建议直接使用 Linux 云服务器(如 Ubuntu)运行 Docker

✅ 九、参考文档

  • Microsoft 官方文档:Install Docker EE on Windows Server
  • Docker 官方:Windows 容器

如果你使用的是阿里云、腾讯云、华为云等平台,请确保:

  • 云服务器实例支持嵌套虚拟化(部分厂商默认关闭)
  • 安全组开放所需端口(如 2375、2376 如果远程访问 Docker)

如有具体云平台(如阿里云、AWS)和用途(部署 .NET 应用、Node.js 等),欢迎补充,我可以提供更定制化的配置建议。

未经允许不得转载:CDNK博客 » windows server云服务器如何运行docker?