安装好docker desktop居然在win server2019上起不来,提示hyperv缺组件,
因为win server本身是vmware虚拟出来的,很不解,因为虚拟的unbutn是可以的。
大概原因是
发现使用Docker For Windows安装的方式行不通,原来有使用这种方式安装docker的同学应该知道,它需要使用系统中的Hyper-V功能去做虚拟化,但是在云服务器中是无法开启Hyper-V的,因为云服务器已经做了一次虚拟化,所以使用另一种方式来安装docker,当然还可以使用docker toolbox安装,但是既然windows server 2016系统支持docker,还是根据官方指南走一遍。
作者:Yeah的第七章
链接:https://www.jianshu.com/p/756a2fbdcce3
如下是微软官方的文档如何在win server上使用docker:
准备 Windows 操作系统容器 | Microsoft Docs
在 Windows 中配置 Docker | Microsoft Docs
若要在 Windows Server 上安装 Docker,可以使用由 Microsoft 发布的 OneGet 提供程序 PowerShell 模块(称为 DockerMicrosoftProvider)。 此提供程序启用 Windows 中的容器功能,并安装 Docker 引擎和客户端。 以下是操作方法:
-
打开提升的 PowerShell 会话,从 PowerShell 库安装 Docker-Microsoft PackageManagement 提供程序。
PowerShell
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
如果系统提示安装 NuGet 提供程序,还请键入 Y
进行安装。
如果出错,应该关闭PowerShell窗口,用admin权限重新打开操作,因为实践中发现下载中断后无法继续的情况。
如果在打开 PowerShell 库时遇到错误,则可能需要将 PowerShell 客户端使用的 TLS 版本设置为 TLS 1.2。 为此,请运行以下命令:
PowerShell
-
# Set the TLS version used by the PowerShell client to TLS 1.2. [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;
-
使用 PackageManagement PowerShell 模块安装最新版本的 Docker。
PowerShell
-
Install-Package -Name docker -ProviderName DockerMsftProvider
PowerShell 询问是否信任包源“DockerDefault”时,键入
A
以继续进行安装。 -
在安装完成后,请重启计算机。
PowerShell
-
Restart-Computer -Force
如果希望稍后更新 Docker,请执行以下操作:
- 使用以下命令检查安装的版本:
PowerShell
-
Get-Package -Name Docker -ProviderName DockerMsftProvider
- 使用以下命令查找当前版本:
PowerShell
-
Find-Package -Name Docker -ProviderName DockerMsftProvider
- 准备好升级后,运行以下命令:
PowerShell
-
Install-Package -Name Docker -ProviderName DockerMsftProvider -Update -Force
- 最后,运行以下命令以启动 Docker:
PowerShell
-
Start-Service Docker