在windowns7上使用DockerToolbox.exe安装docker

背景:前面已经装上使用过一阵子,然后重启电脑,居然发现docker没法打开,各种报错,前前后后弄了将近一天,整个人都是崩溃的,在此记录一下遇到的坑,给给位参考借鉴一下
首先说一下我的最终解决办法: 重装DockerToolbox-1.10.0.exe,注意版本信息是1.10.0,之后还重装了Oracle VM VirtualBox,VirtualBox版本信息VirtualBox-4.3.12-93733-Win.exe,之前有一些并不成功的解决方法附上,希望有些许借鉴意义 
如果需要直接重装DockerToolbox-1.10.0.exe的请直接跳转到第3点,其中安装方法参考
链接:https://blog.csdn.net/forlightway/article/details/54930226

1. 首先装成功之后是桌面会出现这三个快捷方式

在windowns7上使用DockerToolbox.exe安装docker

2. 我的那种场景,点击Docker Quickstart Terminal报错如下

VBoxManage.exe: error: Failed to create the VirtualBox object!

VBoxManage.exe: error: Code E_NOINTERFACE (0x80004002) - No such interface supported (extended info not available)
VBoxManage.exe: error: Most likely, the VirtualBox COM server is not running or failed to start.

这个首先判断是兼容性问题,右击Docker Quickstart Terminal选择属性,选择兼容性,选windows2008,之后再重新运行Docker Quickstart Terminal即可

在windowns7上使用DockerToolbox.exe安装docker

2. 同时在修改Oracle VM VirtualBox的兼容性之后启动Docker Quickstart Terminal报错不一样了,报错如下

  1. Failed to instantiate CLSID_VirtualBox w/ IVirtualBox, CLSID_VirtualBox w/ IUnknown works.
  2. PSDispatch looks broken by some installer featuring the broken oleaut32.msm module as a component.
  3. See also https://support.microsoft.com/en-us/kb/316911 .
  4. 返回 代码:E_INVALIDARG (0x80070057)

通过错误描述可以看出Docker Quickstart Terminal在运行时 oleaut32模块加载的时候发生中断,然后各种修改注册表,修改方法如下

解决       参考链接:https://blog.csdn.net/zp_00000/article/details/70207445

解决方法:


2.1. 修改注册表中如下两项:

  1. HKEY_CLASSES_ROOT\CLSID\{00020420-0000-0000-C000-000000000046}
  2. HKEY_CLASSES_ROOT\CLSID\{00020424-0000-0000-C000-000000000046}
2.2. 分别修改上面两项中的 InprocServer32的默认值为

  1. C:\Windows\system32\oleaut32.dll

2.3具体操作

2.3.1.打开注册表(window + R 打开运行)
在windowns7上使用DockerToolbox.exe安装docker

2.3.2.找到注册表中的需要修改的两项(直接搜索InprocServer32即可找到)

 在windowns7上使用DockerToolbox.exe安装docker
 
2.3.3.点击InprocServer32在右侧面板中对默认值(和InprocServer32)进行内容修改

修改前:(修改时可以通过点击右键进行选项选择也可以直接双击名称进行修改)
在windowns7上使用DockerToolbox.exe安装docker

 修改后:
在windowns7上使用DockerToolbox.exe安装docker

注意:老版本的VirtualBox只有默认或者InprocServer32项,将两者的内容同时修改为

  1. C:\Windows\system32\oleaut32.dll

3. 之后再次重启,默念,奇迹出现,然而并没有什么用,而且报错还是一样的错误码 (0x80070057),各种百度之后决定重装,在选择DockerToolbox-1.10.0.exe 选这个版本之后,重启,居然报错不一样了,看来有奇迹.

国内的快速下载地址:(下载较快)

Docker Toolbox for Win7下载地址:

https://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 


Stderr: VBoxManage.exe: error: The virtual machine 'centos65_default_1467013098683_26652' has terminated unexpectedly during startup with exit code 1 (0x1).  More details may be available in 'C:\Users\xxxVirtualBox VMs\centos65_default_1467013098683_26652\Logs\VBoxHardening.log'
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component MachineWrap, interface IMachine


当重装看到这个错误之后,说明你离成功不远了,因为者只要重装VirtualBox-4.3.12-93733-Win.exe
下载地址:http://download.virtualbox.org/virtualbox/4.3.12/VirtualBox-4.3.12-93733-Win.exe

4.此时再次重启Docker Quickstart Terminal应该是可以启动了


5. 再此额外再加几个碰到的异常

异常: Unable to start the VM: exit status 1

解决方法: 装更高的VirtualBox-4.3.12-93733-Win.exe即可

异常:   A connection attempt failed because the connected party did not properly respond after a period of 

解决方法:  拒绝连接,稍等几个小时就可以连接上了


参考链接:https://blog.csdn.net/zeweig/article/details/51770672