官方文档
What to know before you install
-
README FIRST for Docker Toolbox and Docker Machine users: Docker Desktop for Windows requires Microsoft Hyper-V to run. The Docker Desktop for Windows installer enables Hyper-V for you, if needed, and restarts your machine. After Hyper-V is enabled, VirtualBox no longer works, but any VirtualBox VM images remain. VirtualBox VMs created with
docker-machine
(including thedefault
one typically created during Toolbox install) no longer start. These VMs cannot be used side-by-side with Docker Desktop for Windows. However, you can still usedocker-machine
to manage remote VMs. -
System Requirements:
- Windows 10 64bit: Pro, Enterprise or Education (1607 Anniversary Update, Build 14393 or later).
- Virtualization is enabled in BIOS. Typically, virtualization is enabled by default. This is different from having Hyper-V enabled. For more detail see Virtualization must be enabled in Troubleshooting.
- CPU SLAT-capable feature.
- At least 4GB of RAM.
安装条件
- win10 64位:专业版,企业版,教育版(1607周年纪念日更新,Build 14393 版本之后)
- 在BIOS中开启虚拟化技术,通常是默认开启的,不同的是是否支持Hyper-V,请在这里查看Virtualization must be enabled
- CPU 需要支持SLAT
- 至少需要4GB的内存
条件自检
-
查看系统版本
msinfo32
系统信息
可以看到构建版本是在14393版本之后的,毕竟是17134,而且是专业版本,如果是家庭版,是装不上的,去淘宝买个注册码,可以将家庭版升级成专业版,不用重装系统,不用备份数据,只是更新,获取一些家庭版没有的功能
-
虚拟化,一般来说默认开启,在任务管理器可以看
是否开启虚拟化 -
Hyper-V支持,这是个软件,家庭版没有,看是否选中
windows功能
Hyper-V -
CPU 是否支持SLAT
这个,最大的坑,我也想不到我电脑支持虚拟化不支持SLAT,对,就是i5-7300HQ,就是这个B,不支持SLAT,折腾了好几天,把docker安装进电脑之后,一直 docker desktop is starting 转一年,然后抛个错,甚至不抛错,百度,谷歌搜半天也找不到原因,之后回想会不会是硬件的问题,一条一条像现在这样自查,直到我看到了SLAT,我在想这是个什么东西?SLAT(Second Level Address Translation)二级地址转换技术,在Intel和AMD处理器中均有所支持,但名称有所不同,Intel叫做EPT(Extended Page Tables),在Nehalem架构中开始支持;AMD叫做RVI(Rapid Virtualization Indexing),在第三代Opteron处理器Barcelona中才开始支持。
SLAT主要应用在Hyper-V中,帮助执行更多内存管理功能,并且减少在客户机物理机地址和实体机物理地址之间转换的系统开销,减少了运行虚拟机时Hypervisor的CPU和虚拟机的内存占用。怎么检测呢?
- 下载CPU-Z
打开运行,如果指令集里边没有VT-x
或者VT
指令,那你就准备放弃吧 cpu-z - 下载 CoreInfo.exe,解压,打开cmd或者powershell,用管理员身份运行
cmd
切换到软件存放的目录(比如我解压到了桌面)
cd
执行Coreinfo.exe -v
:
coreinfo.exe
注意命令输中间一行,如果是*
说明支持,-
说明不支持,可以看到最后一行SLAT是-
,说明不支持的,这可能是我docker转一年的原因,下面是一张支持slat的coreinfo命令输出图
支持SLAT
不说了,换电脑去了,辣鸡cpu
- 下载CPU-Z
拓展:Linux系统怎么查看是否支持虚拟化,
当然,要支持vt-x,hyper-v,slat
这是在windows情况下才会要有这么多要求,下面的只是好奇怎么在linux上查看是否支持虚拟化技术,当做知识拓展,docker在windows上说到底还是用hyper-v开个Linux虚拟机再在上边使用linux的资源隔离(半虚拟化技术),所以说如果你操作系统本身是linux,那么实际上是没啥要求的,不信?看这里linux/docker-ce/centos
- Linux平台:
在终端执行cat /proc/cpuinfo命令,找到flags部分,如果其中输出有VMX或SVM,即表明支持虚拟化技术。
cat /proc/cpuinfo | grep VMX (for Intel CPU)
or
cat /proc/cpuinfo | grep SVM (for AMD CPU)
- cpu是否支持slat?
cat /proc/cpuinfo | grep ept
ept
后记
-
即使你的系统版本,cpu,内存都符合他的四个选项,也还是有点不顺畅,我也不知道怎么模模糊糊装成功了,一个稳定版本(Docker for windows installer.exe)和Edge版本(Docker Desktop Installer.exe)装了2遍稳定版本,装了一遍Edge版本,这三遍都是一直卡在安装界面,就是打开,一直卡在一个空白界面,啥都没有,然后晚上回来,重启了下电脑,重新安装稳定版本,就成功了,出现下载包和抽取(extracting)信息,之后,等了好一会,才出现图标栏才变成docker is started 接着右下角弹框要登录dockerhub,
docker-app-welcome
登陆之后又报错,按照他的意思,点了个reset的按钮 之后,docker退出,重新打开,就好了,我都是懵的,什么玩意,我觉得还是linux上装比较轻松,尽量不要用windows版本的,太诡异了,我事后想了一下,可能是C盘的空间不够了,装完只剩2个G,
稳定版本和Edge版本
对应的安装包
附上一张成功的截图
success
-
关于docker在windows上说到底还是用hyper-v开个Linux虚拟机的实锤:
Hyper-V管理器 -
关于c盘不够的解决办法:一块120G的固态,被我分了35G给系统盘,75G给软件盘,装完系统和Docker之后,系统盘剩下2个G,后面用分区助手扩展的,相当于把软件盘压缩,再扩展给系统盘:
分区助手
网友评论