走啊走
加油

云服务器Windows Server系统安装docker?

服务器价格表

Windows Server 系统上安装 Docker 是可行的,但需要注意以下几点:


✅ 一、支持的 Windows Server 版本

Docker 支持以下版本的 Windows Server(需为 64 位):

  • Windows Server 2019
  • Windows Server 2022
  • Windows Server, version 1809(长期服务频道 LTS)
  • Windows Server 2016(部分功能受限)

⚠️ 注意:必须使用 Server Core 或 Desktop Experience 安装模式。


✅ 二、Docker 在 Windows 上的运行方式

在 Windows 上,Docker 可以通过两种方式运行:

  1. Windows 容器(推荐用于 Windows Server)

    • 原生运行基于 Windows 的容器镜像(如 mcr.microsoft.com/windows/servercore
    • 不需要虚拟机
    • 适用于部署 .NET Framework / .NET Core 应用等
  2. Linux 容器(通过 WSL2 或 Hyper-V)

    • 需要 WSL2 和 Hyper-V 支持
    • 在 Windows Server 上不推荐或支持有限

📌 对于 Windows Server,我们通常只使用 Windows 容器 模式。


✅ 三、安装步骤(以 Windows Server 2019/2022 为例)

步骤 1:启用所需功能

以管理员身份打开 PowerShell 并运行:

# 启用容器功能
Install-WindowsFeature -Name Containers

# 重启服务器
Restart-Computer -Force

步骤 2:安装 Microsoft 更新源(可选但推荐)

# 安装 OneGet 提供者(如果未安装)
Find-PackageProvider -Name NuGet | Install-PackageProvider -Force

# 安装 Microsoft 软件包管理器源
Install-PackageProvider -Name NuGet -Force
Register-PackageSource -ProviderName PowerShellGet -Name DockerMsftProvider -Location https://dockermsft.blob.core.windows.net/dockercontainer -Trusted

步骤 3:安装 Docker Engine

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

# 重启服务器
Restart-Computer -Force

安装完成后,Docker 服务会自动启动并设置为开机自启。


步骤 4:验证安装

重启后,运行:

# 查看 Docker 版本
docker --version

# 查看 Docker 信息
docker info

输出应包含:

Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 20.10.x
...
Operating System: Windows Server 2019 Datacenter
...

✅ 四、配置 Docker(可选)

设置镜像提速(国内用户推荐)

编辑或创建配置文件:

# 创建 daemon.json 配置文件
@"
{
  "registry-mirrors": [
    "https://<你的镜像提速地址>.mirror.aliyuncs.com"
  ]
}
"@ | Set-Content -Path 'C:ProgramDataDockerconfigdaemon.json' -Encoding Ascii

替换 <你的镜像提速地址> 为阿里云、腾讯云等提供的提速地址。

然后重启 Docker 服务:

Restart-Service docker

✅ 五、运行第一个容器

# 拉取一个 Windows Server Core 镜像(首次较慢)
docker pull mcr.microsoft.com/windows/servercore:ltsc2019

# 运行一个简单命令
docker run mcr.microsoft.com/windows/servercore:ltsc2019 echo "Hello from Docker on Windows Server!"

❌ 六、常见问题与注意事项

问题 解决方案
Install-Package : No match was found 检查网络,确保能访问 dockermsft.blob.core.windows.net
容器拉取失败 确保宿主机和镜像版本兼容(如 OS 版本 build 号匹配)
无法运行 Linux 容器 Windows Server 不支持 WSL2,只能运行 Windows 容器
性能慢 Windows 容器启动较慢,建议使用 Nano Server 镜像优化

✅ 七、升级 Docker

# 检查更新
Update-Package -Name docker -ProviderName DockerMsftProvider

# 重启
Restart-Service docker

✅ 八、卸载 Docker

# 卸载 Docker 包
Uninstall-Package -Name docker -ProviderName DockerMsftProvider

# 移除源
Unregister-PackageSource -ProviderName PowerShellGet -Name DockerMsftProvider

✅ 九、替代方案(推荐用于新项目)

虽然可以在 Windows Server 上运行 Docker,但更现代的做法是:

  • 使用 Windows Server + Kubernetes(如 AKS-HCI、OpenShift)
  • 或迁移到 Linux + Docker + 容器化 .NET 应用

💡 微软已逐步将容器重心转向 Linux 和 Azure 容器服务。


✅ 总结

项目 内容
操作系统 Windows Server 2019/2022
容器类型 Windows 容器(原生)
安装方式 PowerShell + DockerMsftProvider
是否支持 Linux 容器 ❌ 不支持(无 WSL2)
推荐用途 运行 .NET Framework 容器化应用

如果你有具体的 Windows Server 版本或网络环境(如内网、无网络),可以告诉我,我可以提供定制化安装脚本。