docker如何在windows server 2019运行?

在 Windows Server 2019 上运行 Docker,需要安装 Docker Enterprise Edition (EE) 或使用 Microsoft 提供的容器功能结合社区工具(如 Docker Desktop 不支持 Server 系统)。以下是详细步骤:


✅ 一、前提条件

确保你的系统满足以下要求:

  • 操作系统:Windows Server 2019(建议最新更新)
  • 系统架构:x64
  • 启用 Hyper-V 和 Containers 功能(如果使用半虚拟化容器)
  • 至少 4GB 内存
  • 管理员权限

✅ 二、安装方式选择

方式一:使用 Microsoft 官方支持 + Docker EE(推荐用于生产)

注意:Docker 官方已不再为 Windows Server 单独提供“Docker Desktop”,但可以使用 PowerShell 安装 Docker Engine。

步骤 1:启用容器功能

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

Install-WindowsFeature -Name Containers

安装完成后重启服务器:

Restart-Computer -Force

步骤 2:安装 Docker Engine(通过脚本)

从 PowerShell 执行以下命令下载并安装 Docker:

# 添加 Docker 软件包源
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

# 安装 Docker 最新版本
Install-Package -Name docker -ProviderName DockerMsftProvider -Force

# 可选:查看可用版本
Get-Package -Name Docker -ProviderName DockerMsftProvider

步骤 3:重启系统

Restart-Computer -Force

步骤 4:验证安装

重启后检查服务是否运行:

Get-Service docker

启动 Docker 服务(如果未自动运行):

Start-Service docker

测试 Docker 是否正常工作:

docker --version
docker run hello-world:nanoserver

⚠️ 注意:Windows 容器镜像必须与宿主机兼容。例如,Windows Server 2019 支持 nanoserverwindowsservercore 镜像。


✅ 三、配置 Docker(可选)

设置开机自启

Set-Service docker -StartupType Automatic

使用国内镜像提速器(可选)

编辑或创建配置文件:

路径:C:ProgramDatadockerconfigdaemon.json

内容示例(使用阿里云镜像提速):

{
  "registry-mirrors": ["https://<your-accelerator>.mirror.aliyuncs.com"]
}

替换 <your-accelerator> 为你在 阿里云容器镜像服务 获取的专属地址。

保存后重启 Docker:

Restart-Service docker

✅ 四、运行 Windows 容器示例

# 拉取基础镜像
docker pull mcr.microsoft.com/windows/nanoserver:ltsc2019

# 运行一个简单命令
docker run --rm nanoserver:ltsc2019 ver

# 运行 IIS 示例(较大镜像)
docker run -d -p 80:80 mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019

访问 http://localhost 应该能看到 IIS 欢迎页。


✅ 五、常见问题解决

问题 解决方法
docker : The term 'docker' is not recognized 确保 PATH 包含 C:Program FilesDocker,或重启 PowerShell
容器无法启动 / 兼容性错误 检查宿主机 OS 版本与容器镜像版本是否匹配(如 LTSC2019 对应)
镜像拉取慢 配置 registry-mirrors 提速
出现 Hyper-V 相关错误 在 BIOS 中启用虚拟化,并确保已安装 Hyper-V 角色

✅ 六、注意事项

  • Windows Server 2019 默认只支持 Windows 容器,不支持 Linux 容器(除非启用 WSL2 或特殊桥接,但不推荐在 Server 上这样做)。
  • Docker Engine 在 Windows 上是通过 containerdrunhcs 实现的。
  • 生产环境建议使用 Kubernetes + containerd,而不是直接依赖 Docker CLI。

✅ 七、替代方案(现代推荐)

微软正在推动使用 containerd + Kubernetes(如 AKS-HCI 或 OpenShift) 替代传统 Docker 引擎。但对于轻量级部署,Docker Engine 依然适用。


🔗 参考文档

  • Microsoft Docs: Install Docker EE on Windows Server
  • Docker 官方归档文档:https://docs.docker.com/engine/installation/windows/docker-ee/

如果你希望我提供一键安装脚本或自动化部署方案,也可以告诉我你的具体需求(如是否联网、是否内网环境等)。

未经允许不得转载:CLOUD技术博 » docker如何在windows server 2019运行?