1.Win7安装Docker ToolBox备记

#一、为何需要安装Docker Toolbox
安装的详细要求和事项,具体参见 https://docs.docker.com/toolbox/toolbox_install_windows/

Docker for Windows是基于Hyper-V技术的,win7没有Hyper-V,win8以上才有Hyper-V,所以win7只能使用docker Toolbox,是基于VirtualBox虚拟机软件来构建一个叫default的linux系统,在这之上来使用docker的,并且应用是Linux的。
因为docker for windows是在window10和windowsServer2016以后才出来的,所以win8也是基于linux系统来使用docker的,其上的应用也是linux的应用。但是可以不使用VirtualBox虚拟机,而使用Hyper-V来构建linux系统。
win7上安装Docker Toolbox需要OS是64位系统并且硬件(主要是CPU)支持虚拟技术。
可以通过运行msinfo32.exe,查看是否64位OS,系统类型是x64-based pc等就意味着着是64位OS。
可以从微软网站https://www.microsoft.com/en-us/download/details.aspx?id=592下载havdetectiontool.exe软件并运行,检测硬件是否支持虚拟技术,如下图 1.Win7安装Docker ToolBox备记

#二、安装过程
1.先到https://github.com/docker/toolbox/releases查看最新版本docker toolbox,例如当前最新版本是v19.03.1,但因为网络的原因,很难成功下载,所以一般去国内阿里镜像网站下载。
Included Components
• docker 19.03.1
• docker-machine 0.16.1
• docker-compose 1.24.1
• Kitematic 0.17.7
• Boot2Docker ISO 19.03.1
• VirtualBox 5.2.20
2.到国内阿里镜像网站http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/下载,避免因网络原因下载中断。阿里镜像版本貌似落后于github网站1年,如下图:
1.Win7安装Docker ToolBox备记

下载了最新版本的18.03.0-ce.exe,其中ce指社区版本,ee指企业版本。
3.下载DockerToolbox-18.03.0-ce.exe后以管理员权限进行安装。
这个版本会替你安装git、Oracle VM VirtualBox以及Docker Toolbox

#三、容易出现的坑
##1、坑1 :No default Boot2Docker ISO found locally, downloading the latest relea
se…
安装完成,运行Docker下面的Docker Quickstart Terminal,报错如下:
(default) Image cache directory does not exist, creating it at C:\Users\ Administrator .d
ocker\machine\cache…
(default) No default Boot2Docker ISO found locally, downloading the latest relea
se…

网上的解决办法是:自己下载最新版本的Boot2Docker.Iso然后拷贝到C:\Users\ Administrator .docker\machine\cache。但从github.com上下载很慢,即便用迅雷也成功无望,我没能尝试。

几经探索,我的解决办法是:
(1) 打开cmd,并cd到Docker Toolbox安装目录
(2) C:\Program Files\Docker Toolbox>docker-machine ls
看是否有default虚拟机,一般没有,如果有就用docker-machine rm default删除,

(3) 执行docker-machine creat命令,用Docker Toolbox安装目录下面自带的Boot2Docker.iso创建default虚拟机
C:\Program Files\Docker Toolbox>docker-machine.exe create --driver virtualbox --virtualbox-boot2docker-url=boot2docker.iso default

(4) 通过下面的命令可以查看default虚拟机环境变量
C:\Program Files\Docker Toolbox>docker-machine.exe env default
SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\Administrator.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
SET COMPOSE_CONVERT_WINDOWS_PATHS=true
REM Run this command to configure your shell:
REM @FOR /f “tokens=*” %i IN (‘docker-machine.exe env default’) DO @%i

可以看到实际创建default VM在C:\Users\Administrator.docker\machine\machines\default

(5) 停止default VM的运行,否则Docker Quickstart Terminal运行会失败
C:\Program Files\Docker Toolbox>docker-machine.exe stop default
Stopping “default”…
Machine “default” was stopped.

(6) 重新运行Docker Quickstart Terminal,成功如下图
1.Win7安装Docker ToolBox备记
(7) 可以打开Oracle VM VirtualBox,如下图会出现default VM
1.Win7安装Docker ToolBox备记
##2、坑2 :使用Docker经常需要从网上获取相应的镜像,但因网络问题,很难成功。所以需要配置国内阿里镜像加速器,使用加速器可以提升获取Docker官方镜像的速度。
(1) 打开cmd,并cd到Docker Toolbox安装目录,依次执行如下命令:
docker-machine stop default
docker-machine rm default
docker-machine create --engine-registry-mirror=https://qxrbsoxo.mirror.aliyuncs.com --driver virtualbox --virtualbox-boot2docker-url=boo2docker.iso default
docker-machine stop default
说明1:https://qxrbsoxo.mirror.aliyuncs.com 是阿里镜像加速器地址。我不确定是否每个人或每个地方都是用这个加速地址。如果照此操作依然不能很快下载需要的镜像,你可以直接到阿里云申请账号,然后进入控制台,查找“容器镜像服务”->“镜像加速器”,读取加速器地址,如下图:
1.Win7安装Docker ToolBox备记
说明2:我觉得将上面创建VM的命令替换为
docker-machine create --engine-registry-mirror=https://qxrbsoxo.mirror.aliyuncs.com --driver virtualbox default
直接按照这个操作,坑1应该也能直接解决,即通过加速器下载最新的boot2docker.iso。

(2) 重新运行Docker Quickstart Terminal,并成功运行hello-world例子,如下图
1.Win7安装Docker ToolBox备记
-end-