在 Windows Server 上安装 Docker 与在普通 Windows 桌面版(如 Win10/Win11)略有不同,因为 Windows Server 原生不支持 Hyper-V 容器,默认只能运行 Windows 容器。如果你需要运行 Linux 容器,则必须启用 Hyper-V 并创建虚拟机。
以下是针对 Windows Server 2016/2019/2022 的完整安装指南:
前置条件检查
- 操作系统版本:必须是 Windows Server 2016、2019 或 2022。
- 功能开启:确保已安装
Containers和Hyper-V功能(如果是为了运行 Linux 容器)。 - 网络环境:建议配置好X_X(Docker Hub 在国内访问较慢),或者使用国内镜像提速源。
方法一:使用 PowerShell 脚本自动安装(推荐)
这是最快捷的方式,微软官方提供了自动化脚本来处理依赖项和 Docker 的安装。
1. 以管理员身份打开 PowerShell
右键点击“开始”菜单,选择 Windows PowerShell (Admin) 或 终端 (Admin)。
2. 运行安装脚本
复制以下命令并在 PowerShell 中执行:
# 下载并运行 Docker 安装脚本
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/microsoft/DockerForWindows/main/install.ps1" -OutFile "$env:TEMPinstall.ps1"
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
.$env:TEMPinstall.ps1
注意:如果脚本执行失败,可能是由于网络连接问题或权限问题。请确保你的服务器能访问 GitHub 或手动下载脚本。
3. 重启服务器
脚本执行完成后,通常提示需要重启。重启后,Docker Desktop for Windows 服务将自动启动。
方法二:手动安装 MSI 安装包
如果脚本方式不可用,可以手动下载安装包。
-
下载 Docker Engine:
前往 Docker 官方文档页面下载适用于 Windows Server 的 Docker Engine MSI 安装包:- 链接:Docker Engine for Windows
- 文件名为类似
docker-ee.msi或docker-ce.msi(根据需求选择 Enterprise 或 Community Edition,社区版免费)。
-
安装步骤:
- 双击下载的
.msi文件。 - 按照向导点击“下一步”。
- 关键步骤:在安装选项中选择 "Run Windows containers"(运行 Windows 容器)或 "Run Linux containers"(运行 Linux 容器)。
- 如果选择 Linux 容器,安装程序会自动尝试启用 Hyper-V 功能(可能需要重启)。
- 完成安装后,系统会提示重启。
- 双击下载的
验证安装是否成功
重启服务器后,再次打开 PowerShell,输入以下命令:
docker version
docker run hello-world
- 如果看到版本信息且
hello-world拉取镜像并成功打印消息,说明安装成功。 - 如果遇到错误,请查看事件查看器(Event Viewer)中的
Application和System日志。
常见问题与优化建议
1. 如何运行 Linux 容器?
Windows Server 默认只支持 Windows 容器。若要运行 Linux 容器(例如 nginx, python, node 等大多数开源镜像):
- 必须在安装时选择 Linux Containers 模式。
- 这要求服务器启用 Hyper-V 角色。
- 运行 Linux 容器时,Docker 会在后台创建一个轻量级 Hyper-V 虚拟机来隔离内核。
2. 配置国内镜像提速器
由于 Docker Hub 连接不稳定,建议在 C:ProgramDatadockerconfigdaemon.json 文件中添加镜像提速器地址。
编辑该文件(如果没有则新建),内容如下:
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
修改后,重启 Docker 服务:
Restart-Service docker
3. 性能调优
在生产环境中,建议关闭不必要的图形界面组件(如果使用的是 Server Core 或最小化安装),并确保内存分配充足。
总结
对于 Windows Server,最简单的方法是直接使用 PowerShell 脚本 进行一键安装。安装后,请务必确认你选择的容器类型(Windows 或 Linux)是否符合你的业务需求,并根据网络情况配置镜像提速器。
云知识CLOUD