docker下载地址:http://get.daocloud.io/#install-docker-for-mac-windows
1.首先我直接下载了docker for windows,安装时才发现win10家庭版不支持hyper-v功能,只有专业版才有,不能直接安装docker,需要通过docker toolbox安装,于是乎去下载了docker toolbox再来安装
2.安装时有一串可选安装列表,因为我已经安装了git,就没有勾选git for windows,安装完成后启动docker quickstart,直接报错找不到bash.exe,原来docker是需要通过git bash启动,要在docker启动目标属性中将默认git bash路径改为自己安装的git中的路径。右键点击桌面上的docker quickstart terminal打开属性,进行修改
3.修改完成后再打开quickstart,terminal可以打开了,但是报错This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory。google查得是因为电脑没有开启虚拟化功能,重启电脑按F2进入BIOS设置,将Virtualization Thchnology属性设置为enable,再打开电脑,任务栏->性能中可查看得虚拟化功能已开启
4.再次打开terminal,发现依然报同样的错误This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory。网上搜索解决方案,在管理员模式下的命令提示符中输入:bcdedit /set hypervisorlaunchtype Auto,然后重启电脑,无用。于是乎尝试卸载重装,无用
5.寻得另一解决方案,打开docker toolbox安装目录,编辑器编辑start.sh文件,找到以下代码片段
STEP="Checking if machine $VM exists" if [ $VM_EXISTS_CODE -eq 1 ]; then "${DOCKER_MACHINE}" rm -f "${VM}" &> /dev/null || : rm -rf ~/.docker/machine/machines/"${VM}" #set proxy variables if they exists if [ "${HTTP_PROXY}" ]; then PROXY_ENV="$PROXY_ENV --engine-env HTTP_PROXY=$HTTP_PROXY" fi if [ "${HTTPS_PROXY}" ]; then PROXY_ENV="$PROXY_ENV --engine-env HTTPS_PROXY=$HTTPS_PROXY" fi if [ "${NO_PROXY}" ]; then PROXY_ENV="$PROXY_ENV --engine-env NO_PROXY=$NO_PROXY" fi "${DOCKER_MACHINE}" create -d virtualbox $PROXY_ENV "${VM}" fi
在倒数第二行是创建虚拟机的地方:
"${DOCKER_MACHINE}" create -d virtualbox $PROXY_ENV "${VM}"
修改该行并将--virtualbox-no-vtx-check
加入。最终的结果是:
"${DOCKER_MACHINE}" create -d virtualbox --virtualbox-no-vtx-check $PROXY_ENV "${VM}"
再次启动terminal,不再报上述错误,转而报如下,没有找到boot2docker,自动下载下载失败
直接前往github下载,https://github.com/boot2docker/boot2docker/releases/download/v19.03.3/boot2docker.iso
6.下载完成后到上边C:\Users\syc\.docker\machine\cache(自己的目录)下替换掉刚下载失败的临时文件,再重启docker terminal,报如下错误Error in driver during machine creation: Unable to start the VM
7.不知道怎么搞了,我估计可能是我安装时没有按默认路径,于是又卸载重装,一路默认安装,重启好几次,最后莫名奇妙成功了。哎,真的头疼,根本搞不懂这些配置是怎么回事,就只知道按网上的解决方案折腾来折腾去,折腾好了也不知道是怎么好的。windows系统要用还是得专业版,家庭版有时候真的很不方便,要么就用Linux好了