奋斗
努力

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

云计算

在 Windows Server 云服务器上运行 Docker,需要根据你使用的 Windows Server 版本容器类型(Windows 容器或 Linux 容器) 进行配置。以下是详细的步骤指南:


✅ 一、前提条件

  1. 支持的 Windows Server 版本

    • Windows Server 2016
    • Windows Server 2019
    • Windows Server 2022
    • Windows Server, version 1809 及以上(长期服务频道 LTS 或半年度频道)
  2. 必须是 64 位系统

  3. 管理员权限

  4. 启用 Hyper-V 和容器功能(如果使用 Windows 容器)

  5. 云服务商支持嵌套虚拟化(如 Azure、AWS、阿里云等通常支持)


✅ 二、安装 Docker Engine(Windows 上的 Docker EE / Moby)

Windows Server 不像 Windows 10/11 那样直接支持 Docker Desktop,因此需要安装 Docker Enterprise Edition (Docker EE) 或社区版替代方案。

方法一:使用 Microsoft 提供的脚本安装 Docker(推荐)

适用于 Windows Server 2016、2019、2022

  1. 以管理员身份打开 PowerShell
# 安装 OneGet 模块(包管理)
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

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

# 安装完成后重启服务器
Restart-Computer -Force
  1. 验证 Docker 是否运行
docker --version
docker run hello-world:nanoserver

注意:hello-world:nanoserver 是 Windows 容器镜像,不能用 hello-world(Linux 镜像)


✅ 三、切换容器模式(可选)

默认情况下,Docker 在 Windows 上运行的是 Windows 容器

如果你想运行 Linux 容器,需要:

启用 WSL2 + Linux 子系统(仅限 Windows Server 2022 及更高版本支持较好)

但更常见的做法是:

⚠️ Windows Server 原生不支持 Docker Desktop,也无法像 Win10 那样轻松切换 Linux 容器。

✅ 解决方案:

  • 使用 Windows 容器(推荐用于 .NET Framework/.NET Core 应用)
  • 或者部署一个 Linux 云服务器 来运行 Linux Docker 容器(更高效)

✅ 四、常用操作命令

# 查看 Docker 版本
docker info

# 拉取 Windows 镜像示例
docker pull mcr.microsoft.com/windows/servercore:ltsc2022
docker pull mcr.microsoft.com/dotnet/aspnet:8.0

# 运行一个简单容器
docker run -d -p 80:80 mcr.microsoft.com/dotnet/aspnet:8.0

# 构建镜像(需有 Dockerfile)
docker build -t myapp .

# 查看运行中的容器
docker ps

✅ 五、配置 Docker 开机自启

Docker 服务默认会注册为 Windows 服务:

# 设置 Docker 服务开机启动
Set-Service Docker -StartupType Automatic

# 启动服务
Start-Service Docker

✅ 六、使用 Docker Compose(可选)

  1. 下载 docker-compose-windows-amd64.exe
Invoke-WebRequest "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-windows-x86_64.exe" -OutFile $env:ProgramFilesDockerdocker-compose.exe
  1. 重命名为 docker-compose.exe 并加入 PATH

  2. 验证:

docker-compose --version

✅ 七、注意事项

项目 说明
🐳 容器类型 推荐使用 Windows 容器(基于 Nano Server 或 ServerCore)
💾 镜像大小 Windows 镜像较大(通常几百 MB 到 GB),注意磁盘空间
🔧 性能 Windows 容器性能低于 Linux 容器,适合特定场景(如 IIS、.NET Framework)
☁️ 云平台建议 若主要运行 Linux 应用,建议使用 Linux 云服务器跑 Docker

✅ 八、常见问题排查

  1. 错误:failed to create endpoint on network nat

    • 重置网络:Reset-NetAdapter
    • 或重启 Docker 服务
  2. 无法拉取镜像?

    • 检查网络X_X、防火墙
    • 使用国内镜像提速(如 Azure China、阿里云镜像)
  3. Docker 服务无法启动?

    • 确保已启用 Hyper-V 和 Containers 功能:
      Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V, Containers -All

✅ 九、替代方案(推荐生产环境)

如果你希望更灵活地运行混合容器,可以考虑:

  • 使用 Azure Container Instances (ACI)Amazon ECS/EKS 等托管服务
  • 在 Windows Server 上运行 Kubernetes (AKS-Engine / KubeAdm) 支持 Windows 节点
  • 使用 Rancher / Portainer 图形化管理 Windows Docker 主机

总结

步骤 内容
1 确认 Windows Server 版本支持
2 安装 DockerMsftProvider 并安装 Docker
3 重启并测试 docker run
4 使用 Windows 容器镜像开发部署应用
5 (可选)安装 Docker Compose

如果你提供具体的云平台(如阿里云、腾讯云、AWS、Azure)和 Windows Server 版本,我可以给出更定制化的安装脚本。

是否需要我为你生成一键安装脚本?

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