windows10 docker奋斗历程之DockerToolbox

329 阅读3分钟

一、docker desktop

期初,我直接安装docker desktop(下面简称:dd),此时是开启了系统Hyper-V相关功能的。通过dd我可以pull镜像、可以运行容器,我通过phpstorm Terminal也可以正常进入容器内进行执行相关命令。

但是习惯于linux命令操作的我,除了在第一次安装dd时引导过程中出现过dd自带的命令窗口窗口,后面在哪里都找不到命令窗口。而通过powershell或者gitbash执行docker ps或者其他任务都会出现超时或者其他报错。

使用dd的缺点:windows下想通过bash或者powershell或cmd执行docker命令

经过各种查找资料,最终只有选择使用DockerToolbox来实现

二、Docker machine安装

如果你是 Windows 平台,可以使用 Git BASH,并输入以下命令

base=https://github.com/docker/machine/releases/download/v0.16.0 &&
  mkdir -p "$HOME/bin" &&
  curl -L $base/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" &&
  chmod +x "$HOME/bin/docker-machine.exe"

更多资料请参考:Docker Machine | 菜鸟教程 (runoob.com)

三、DockerToolbox

docker-toolbox-windows-docker-toolbox安装包下载_开源镜像站-阿里云 (aliyun.com)

百度网盘分享需要下载的资源:

链接:pan.baidu.com/s/1mnyh\_n6… 提取码:asuo

踩坑比较多:

1.安装过程中提示Git问题,

解决办法:点击确定,因为之前已经安装了git,所以这里跳过继续安装

后面我们启动DockerToolbox之前在快捷方式里面修改配置,将git目录修改为自己安装git的目录

2.提示C:\Users\Administrator\.docker\machine\machines\default下缺失文件之类的

解决方案:由于之前来回安装卸载docker desktop ,C:\Users\Administrator\.docker没有删除,所以有残留目录导致安装会有问题。

所以建议在【环境变量】里面删除docker开头的环境变量,并删除C:\Users\Administrator\.docker整个目录

3.提示Hyperf V和virtualBox冲突无法启动

解决办法:关闭Hyperf-V整个功能,但是注意,这个执行可能导致docker desktop无法启动了。如果最后无法结局,可以尝试通过管理员身份运行cmd,执行:

bcdedit /set hypervisorlaunchtype off

C:\WINDOWS\system32>bcdedit

Windows 启动管理器
--------------------
标识符                  {bootmgr}
device                  partition=C:
description             Windows Boot Manager
locale                  zh-CN
inherit                 {globalsettings}
flightsigning           Yes
default                 {current}
resumeobject            {af8015b1-f65e-11ea-95e1-b464662eda96}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 5

Windows 启动加载器
-------------------
标识符                  {current}
device                  partition=C:
path                    \WINDOWS\system32\winload.exe
description             Windows 10
locale                  zh-CN
inherit                 {bootloadersettings}
recoverysequence        {c681a83b-f65e-11ea-bc57-aa50229def1d}
truncatememory          0x400000000
displaymessageoverride  Recovery
recoveryenabled         Yes
flightsigning           Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {af8015b1-f65e-11ea-95e1-b464662eda96}
nx                      OptIn
bootmenupolicy          Standard
hypervisorlaunchtype    Auto
usefirmwarepcisettings  No

4.无法启动DockerToolbox,一直卡在:Downloading C:\Users\Administrator\.docker\machine\cache\boot2docker.iso

解决方法:这是因为从github下载boot2docker.iso外网太慢,复制窗口里面地址通过迅雷等自己手动下载,如果能翻墙可能更快!

下载完成后,手动复制到:C:\Users\Administrator\.docker\machine\cache目录下

5.运行DockerToolbox时出现 “VBoxManage.exe: error: The virtual machine 'default' has terminated unexpect”

我安装的DockerToolbox版本是:18.30.0,安装后自带的Oracle VM VirtualBox版本是5.*,我运行Oracle VM VirtualBox时报错无法正常启动,说明Oracle VM VirtualBox版本和你windows目前不兼容。

解决办法:卸载Oracle VM VirtualBox 5.*版本,官网下载最新Oracle VM VirtualBox,并安装到目录:**C:\Program Files\Oracle\VirtualBox。**安装后单独运行Oracle VM VirtualBox,如果能运行说明和当前操作系统兼容再去运行DockerToolbox

6.error in driver during machine creation:This computer doesn’t have VT-X/AMD-v enabled .Enabling it in the BIOS is mandatory

解决办法:进入BIOS,找到 Intel Virtualization Technology,这个配置,设置为enabled。

问题解决后,终于成功运行DockerToolbox,可以愉快地像linux一样使用docker了

7.DockerToolbox的images和docker desktop的不通用

四、修改docker源

docker-machine ssh [machine-name]进入VM bash

执行:

vi /var/lib/boot2docker/profile

在--label provider=virtualbox的下一行添加--registry-mirror xxx.mirror.aliyuncs.com(你的源地址)