阿里云Windows server系统如何部署docker?

在阿里云 Windows Server 上部署 Docker,通常有两种主流方式:使用官方提供的 Docker Desktop for Windows(适合开发/测试环境)或 使用 Windows 容器引擎(适合生产环境,需手动配置)。由于 Windows Server 本身不预装 Docker,需要先安装相应的运行时。

以下是针对阿里云 ECS(Windows Server)的两种部署方案:


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

这是最简单的方式,Docker Desktop 会自动处理底层配置,包含完整的 GUI 界面和 WSL2 支持。

1. 前置准备

  • 确保 ECS 实例已开启远程桌面连接(RDP)。
  • 系统版本要求:Windows Server 2019 或 2022(建议 2022)。
  • 开启虚拟化功能:
    • 登录阿里云控制台 -> 实例详情 -> 更多 -> 虚拟化。
    • 确保“虚拟化”选项已勾选并重启实例生效。
    • 或者在服务器内部运行 systeminfo 查看是否显示 "Hyper-V" 相关支持。

2. 下载安装

  1. 访问 Docker 官网下载页。
  2. 下载 Docker Desktop for Windows 安装包(.exe)。
  3. 双击运行安装程序,按照向导完成安装。
    • 安装过程中会提示选择使用 WSL 2 后端(推荐)或 Hyper-V。
    • 如果选择 WSL 2,它会自动安装必要的 Linux 子系统组件。

3. 验证安装

安装完成后,打开 PowerShell 输入:

docker --version
docker run hello-world

如果看到欢迎信息,说明部署成功。

注意:Docker Desktop 在 Windows Server 上的授权策略可能与企业版不同,且资源占用较高,不建议直接用于高负载的生产环境。


方案二:使用 Windows Container Engine(推荐用于生产环境)

如果你需要在生产环境中运行原生 Windows 容器(如 .NET Framework 应用),可以使用微软官方的 Windows Containers 功能,无需 Docker Desktop 图形界面。

1. 开启 Hyper-V 角色

以管理员身份打开 PowerShell,执行以下命令启用 Hyper-V 和相关容器功能:

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

注:安装后可能需要重启服务器。

2. 安装 Docker 服务端

微软提供了通过 Chocolatey 包管理器安装 Docker 的方法,或者直接从 GitHub 下载 MSI 安装包。推荐使用 Chocolatey(需先安装 Chocolatey):

# 安装 Chocolatey (如果尚未安装)
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

# 安装 Docker
choco install docker-cli docker-engine -y

或者下载官方 MSI 安装包:

  • 访问 Microsoft Container Registry 获取镜像源。
  • 下载 docker-install.msi 进行安装。

3. 配置 Docker 守护进程

默认情况下,Docker 服务可能未启动。请检查服务状态:

Get-Service docker

如果未运行,启动它:

Start-Service docker
Set-Service -Name docker -StartupType Automatic

4. 拉取并运行 Windows 容器

由于是 Windows 环境,必须拉取 Windows 基础镜像:

# 拉取一个示例 Windows 镜像
docker pull mcr.microsoft.com/windows/nanoserver:ltsc2022

# 运行一个简单的 Hello World
docker run --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 cmd /c echo "Hello from Windows Container!"

关键注意事项(阿里云环境特有)

  1. 安全组配置:

    • 如果在容器内启动了 Web 服务(如 Nginx/IIS),记得在阿里云控制台的 安全组 规则中放行对应的端口(如 80, 443, 8080 等)。
  2. 网络模式:

    • Windows 容器默认使用 NAT 网络。如果需要宿主机 IP 映射,需使用 -p 参数。
    • 若需更复杂的网络拓扑,可考虑使用 nat 或 transparent 模式(需额外配置)。
  3. 性能优化:

    • Windows 容器的启动速度通常比 Linux 慢,内存占用也更高。在生产环境中,建议根据业务需求合理分配 CPU 和内存配额。
    • 对于微服务架构,强烈建议使用 Linux 容器(即使宿主机是 Windows,也可以配合 WSL2 或双机部署 Linux 节点),因为生态更成熟且性能更好。
  4. 镜像源提速:

    • 国内拉取 Docker Hub 镜像较慢。可以在阿里云市场搜索“阿里云容器镜像服务”(ACR),创建个人命名空间,并在 Docker 配置文件中添加 ACR 提速地址:
      // C:ProgramDatadockerconfigdaemon.json
      {
      "registry-mirrors": ["https://<your-acr-endpoint>.mirror.aliyuncs.com"]
      }

      修改后需重启 Docker 服务。

总结

  • 开发/学习:直接使用 Docker Desktop,省心省力。
  • 生产/高性能:使用 Windows Container Engine + ACR 提速,避免图形界面带来的资源开销。
  • 最佳实践:如果业务允许,尽量将核心服务迁移到 Linux 容器 上运行,以获得更好的兼容性和性能表现。
未经允许不得转载:云知道CLOUD » 阿里云Windows server系统如何部署docker?