windows 7 环境下安装docker ,需要先安装 Docker Toolbox ,安装完后,桌面出现

2 docker安装提示WSL 安装docker出现错误_2d

 点击Oracle VM 出现  “获取 VirtualBox COM 对象失败”  返回 代码:
CO_E_MSI_ERROR (0x80004023)
组件:
VirtualBoxClientWrap
界面:
IVirtualBoxClient {d2937a8e-cb8d-4382-90ba-b7da78a74573}

2 docker安装提示WSL 安装docker出现错误_2d_02

 

解决方法

1. 打开注册表,【开始】-【运行】中输入“regedit”。

2. 修改注册表的如下:

  • HKEY_CLASSES_ROOT\CLSID\{00020420-0000-0000-C000-000000000046}\InprocServer32

将它的默认值改成:

C:\Windows\system32\oleaut32.dll

2 docker安装提示WSL 安装docker出现错误_2d_03

点击 Docker Quickstart Terminal 命令行初始化 ,网速较慢时,初始化容易失败,在使用Docker前,要先创建docker machine,它其实是台虚拟机,默认情况下,docker machine的所有文件都会保存在用户的根目录下,一般是在C盘,如果就用默认的位置,C盘的空间会越来越小,所以最好还是换个地方。 点击Git Bash,在起开所有docker应用之前需要先使用这个才能更改成功,修改默认的default machine的路径,不然,默认安装在C盘,会使C盘空间越来越小。
输入 notepad .bash_profile 创建和打开.bash_profile 配置文件,

2 docker安装提示WSL 安装docker出现错误_2d_04

 在.bash_profile文件中输入:export MACHINE_STORAGE_PATH='E:\docker' ,保存并关闭文件,然后创建相应的文件夹,然后再在docker中创建一个chche文件夹,并将Docker Toolbox安装目录下的boot2docker.iso拷贝到该文件夹下。 在Git Bash中输入更改路径命令,此处使用阿里云的加速器,因为在使用docker的时候,会需要从docker的网站下载镜像文件,下载速度可能会很慢。

如果命令执行时,还下载最新的boot2docker.iso  ,则可以断网来保证初始化从Docker Toolbox 复制的boot2docker.iso,

安装完城后,如果出现

Error getting IP address: ssh command error:
command : ip addr show
err     : exit status 255

 

即拿不到ip,因为在windows上,docker在virtualbox上,那就是虚拟机的ip问题

可以最简单的方法,就是删掉这个删除默认的docker-machine,重新创建一个即可。

$ docker-machine rm default
$ docker-machine create --driver virtualbox default

 如果你已经通过docker-machine创建了虚拟机,而没有设置阿里云加速器,则需要通过登录机器修改配置了
首先通过docker-machine ssh <machine-name>登录虚拟机
然后修改/var/lib/boot2docker/profile文件,将--registry-mirror=<your accelerate address>添加到EXTRA_ARGS

或者使用命令行:

sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=http://f1361db2.m.daocloud.io|g" /var/lib/boot2docker/profile

最后sudo /etc/init.d/docker restart重启Docker服务就可以了,

docker 加速器    /var/lib/boot2docker/profile
阿里云
--registry-mirror=https://8c2py0sk.mirror.aliyuncs.com
DaoCloud
--registry-mirror=http://f1361db2.m.daocloud.io

如果profile文件 没有权限修改,则需要登录root用户设置权限,即通过Oracle VM VirtualBox 进去,双击default出现的命令窗口,即是以root登录进去的,可以设置chmod  777 profile  ,

或者 在Docker Machine控制台中,SSH登录VM,使用sudo -i命令 也可以