在 Windows Server 上安装 Docker,目前官方推荐使用 Docker Desktop for Windows(包含 WSL 2 后端)或 Docker Engine (Community Edition)。
由于云服务器通常没有图形界面(GUI),或者为了更轻量、稳定的生产环境,强烈建议使用 Docker Engine(命令行方式),而不是 Docker Desktop。Docker Desktop 依赖 Hyper-V 或 WSL 2 的完整 GUI 支持,在纯服务器环境下配置较繁琐且占用资源较多。
以下是基于 Windows Server 2016/2019/2022 安装 Docker Engine 的标准步骤:
前置条件
- 系统版本:确保是 Windows Server 2016 及以上版本(推荐 2019 或 2022)。
- 功能启用:必须启用 Hyper-V 和 容器服务。
- 网络:确保服务器可以访问网络(用于下载镜像和更新包)。
第一步:启用必要功能
打开 PowerShell(以管理员身份运行),执行以下命令来启用 Hyper-V 和容器功能:
# 启用 Hyper-V 和 Containers 功能
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName Containers
# 重启服务器以应用更改
Restart-Computer
注意:重启后,如果使用的是 Azure 或 AWS 等云厂商,请确保实例类型支持嵌套虚拟化(大多数现代实例默认支持)。
第二步:下载并安装 Docker Engine
微软提供了官方的 MSI 安装包,这是最稳定且推荐的方式。
-
下载 MSI 安装包:
访问 GitHub 发布页下载最新版本的docker-ceMSI 包:- 地址:https://github.com/docker/for-win/releases
- 文件名示例:
Docker-CE-<version>.msi(例如Docker-CE-24.0.7.1-x86_64.msi) - 提示:如果无法直接访问 GitHub,可以使用国内镜像站或从微软官方文档获取链接。
-
使用命令行静默安装(推荐):
假设你已将下载的 MSI 文件放在C:Downloads目录下,并在 PowerShell 中切换到该目录:# 替换为你实际下载的文件名 $installer = "Docker-CE-24.0.7.1-x86_64.msi" # 执行静默安装 Start-Process msiexec.exe -ArgumentList "/i $installer /qn /norestart" -Wait参数说明:
/qn表示无界面安装,/norestart防止自动重启(如果需要重启请移除此参数)。或者,你也可以直接在浏览器下载
.msi文件后,双击进行交互式安装,勾选“允许非 TLS 连接”等选项即可。
第三步:验证安装
安装完成后,打开新的 PowerShell 窗口,输入以下命令检查版本:
docker --version
docker version
如果显示版本号信息,说明安装成功。
第四步:配置镜像提速器(关键步骤)
在中国大陆地区,拉取官方 Docker Hub 镜像速度极慢甚至失败。务必配置国内镜像提速器。
-
编辑配置文件:
找到 Docker 配置文件C:ProgramDataDockerconfigdaemon.json。- 如果文件不存在,请新建一个文本文件并重命名为
daemon.json。
- 如果文件不存在,请新建一个文本文件并重命名为
-
添加提速源:
将以下内容写入文件(注意 JSON 格式,如果是首次创建则直接写入,如果已有内容需追加逗号分隔):{ "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] }注:以上为常用公共源,建议优先使用中科大或网易源。如果是阿里云/腾讯云用户,请登录对应控制台获取专属的提速地址填入。
-
重启 Docker 服务:
Restart-Service docker
第五步:测试运行
尝试拉取一个简单的镜像并运行:
# 拉取 hello-world 镜像
docker pull hello-world
# 运行它
docker run hello-world
如果看到类似 "Hello from Docker!" 的输出,恭喜你,Docker 已成功在 Windows Server 上运行!
常见问题排查
- 错误:WSL 2 或 Hyper-V 未就绪
如果在运行容器时报错,请再次确认第一步中的功能是否已启用,并确认云服务器实例类型是否支持嵌套虚拟化。 - 权限问题
确保当前登录的用户属于Docker Users组,或者始终以管理员身份运行 PowerShell。 - 端口冲突
如果 Docker 启动失败,检查是否有其他服务占用了2375或2376端口。
通过以上步骤,你的 Windows Server 云服务器即可具备完整的 Docker 运行环境,可用于部署容器化应用。
CDNK博客