win7系统docker_toolbox安装实录总结及踩坑(2022win7系统hyperf系列一)

1 篇文章 0 订阅
1 篇文章 0 订阅

重要声明

本记录是在前辈们的基础上实践而成,只相当于做了一个更全面的总结与记录。或可以为其他人避免踩坑做些参考。
本记录大部分内容借鉴甚至复制前辈们的文章片段,感谢各位前辈!

部分参考链接:
https://blog.csdn.net/weixin_47061482/article/details/125333469
https://blog.csdn.net/weixin_44021888/article/details/125225794
https://blog.csdn.net/Moonoly/article/details/124554779
https://blog.csdn.net/Micheal_Bear/article/details/106493441
https://blog.csdn.net/weixin_44021888/article/details/125225794

重要提示

安装很简单,切记要正确做好容器与宿主机的端口映射配置及容器与宿主机的文件夹共享配置

Docker Toolbox安装

docker简述

1、安装Docker Toolbox

我本机的配置情况:win7-64位操作系统、内存16G、处理器 i5 、CPU(4核)

注意:Docker for Windows 和 Docker Toolbox互不兼容
win7系统对应的docker安装包,推荐使用 Docker Toolbox 。
win10系统64位以上系统使用Docker for Windows。

这里我们安装Docker Toolbox:

docker toolbox 是一个工具集,它包含以下一些内容:
Docker CLI - 客户端运行docker引擎创建镜像和容器。
Docker Machine - 可以让你在 Windows 的命令行中运行 docker 引擎命令。
Docker Compose - 破解运行 docker-compose 命令。
Kitematic - 这是 Docker 的 GUI 版本。
Docker QuickStart shell——这是一个已经配置好的Docker的命令行环境。
Oracle VM Virtualbox - 虚拟机。

1.1、 下载地址:

1.1.1官方安装地址

官方安装地址:
https://github.com/docker-archive/toolbox/releases

在这里插入图片描述

1.1.2 国内镜像地址

国内可以使用阿里云的镜像来下载,下载地址为:
http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

在这里插入图片描述

选择一个相对最近的即可,我选择的是v19.03.1这个版本。

1.2、安装Docker Toolbox

双击安装文件

在这里插入图片描述

安装路径千万不要有中文

在这里插入图片描述

如果windows系统已经安装了git,就不勾选最后一项了:

在这里插入图片描述

有前辈提醒,请注意下面一点,对最后一项打上钩,但我试过,不选择这一项也可以

在这里插入图片描述
在这里插入图片描述

安装完,桌面会有三个图标:

在这里插入图片描述

Docker Quickstart Terminal:已经配置好Docker的命令行环境,通过它可以启动、访问docker服务;
Oracle VM VirtualBox:虚拟机,通过它可以访问docker服务所在的linux虚拟机;
Kitematic (Alpha):Docker的GUI版本,可以下载一些docker镜像

在这里插入图片描述

安装完成后,在桌面上会出现两个图标:一个是命令行形式Docker终端,一个是图形界面的Docker操作工具。

注意:如果安装过程有问题或者黑屏可考虑是否未开启虚拟化服务:
根据自己电脑型号百度进入bois快捷键(我的为F2),开启黑屏过程中按快捷键进入bois模式,在那个目录下不重要(不通型号电脑不一样,我的在Security菜单下,总之找带有“virtualization”(虚拟化技术)关键字的),最终找到这个菜单开启保存,然后重新操作安装:

在这里插入图片描述

1.3、启动测试

1.3.1 启动前修改Docker Quickstart Terminal属性路径

安装完首次点击Docker Quickstart Terminal的快捷键方式无法启动的问题

在这里插入图片描述

出现这样的原因是Docker Quickstart Terminal默认使用的bash.exe是c盘下的也就是在目标中显示如下情况:
在这里插入图片描述

而我们在安装git时都会自己选择位置,我选择的位置是在D盘,找到D盘git安装的bash.exe的目录复制然后修改目标即可

在这里插入图片描述

这样就可以点击Docker Quickstart Terminal图标来启动了。

这地方还有个细节。双击启动Docker Quickstart Terminal就会在界面中显示要下载boot2docker.iso文件,由于国内网络问题,这文件很可能会下载失败,或者消耗很长的时间,在界面中提示这个文件会直接下载到C:\Users\Administrator.docker\machine\machines\default目录下,如果一直没下载下来,就不要死等了,直接打开迅雷复制链接来下载吧,下载完毕后把文件拷贝到上边的目录内,再重新启动Docker Quickstart Terminal,就可以成功引导进入Docker界面了。
也有的时候,会很快下载完,不需要手动下载,效果类似于下面这个截图。等待自动安装完就可以了。在正常使用docker之前剩下就只剩下配置了。

首次点击Docker Quickstart Terminal 图标,会在系统里创建一个默认的,名字叫default的虚拟机,过程需要安装一些下载安装一些文件(可能存在下载失败的情况,重新打开即可)dokcer服务启动成功的界面如下,出现鲸鱼图标:

在这里插入图片描述
在这里插入图片描述

点击Oracle VM VirtualBox 图标可以看一下docker服务所在的default虚拟机:

在这里插入图片描述

你可通过CMD查看docker是否安装成功,输入docker-machine,出现版本等信息,安装能够运行,还会给出一些选项,包括machine安装路劲等: -s, --storage-path “C:\Users\wcc335836929.docker\machine” Configures storage path [$MACHINE_STORAGE_PATH]

在这里插入图片描述

在这里插入图片描述

至此,docker安装完成!

2、 docker_toolbox配置修改

切记:必须要做的配置修改有两个部分
1、容器内外端口映射(容器端口与本地宿主机的端口映射)参看【2.2】
2、容器挂载文件【本地和容器共享文件】配置修改 参看【2.3】

2.1 更改虚拟主机所在的硬盘

虚拟机的默认存储位置是C:\Users\Administrator.docker\machine\machines ,后期docke镜像文件会不断增加,为了给系统盘减>负,最好将磁盘移动到其他位置。

打开VirtualBox -》管理-》虚拟介质管理器-》选择vmdk结尾的文件,点击复制-》下一步:

在这里插入图片描述

如图所示,选择vmdk文件类型-》动态分配-》选择一个本地路径(我随便建了个vm文件夹)-》保存为vmdk格式-》确定。

在这里插入图片描述
在这里插入图片描述

设置-》存储-》控制器旁边的+号,添加刚上边新增的路径下的文件,旧的可以删除掉:

在这里插入图片描述

在这里插入图片描述

至此虚拟硬盘修改配置完成。

2.2 容器与宿主机端口映射配置

在Windows家庭版下安装了docker,但没有映射完毕之前,在主机的浏览器中,打开 localhost:port 无法访问对应的服务。

在这里插入图片描述

这是因为docker是运行在Linux上的,在Windows中运行docker,实际上还是在Windows下先安装了一个Linux环境,然后在这个系统中运行的docker。也就是说,服务中使用的localhost指的是这个Linux环境的地址,而不是我们的宿主环境Windows。

因此还需要配置自带虚拟机的 ip 和端口号才能成功启动本地镜像服务,需要把虚拟机的 ip 和端口号映射到本机。打开虚拟机的设置后如下图:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

配置完端口映射后,访问成功
在这里插入图片描述

此时,即使可以访问,但本地文件夹没有与容器进行正确的挂载。之后无法本地开发,所以必须有正确的共享文件挂载。才会在之后重新运行容器之后,本地关联文件夹中才会有项目代码。

2.3【配置ORACLE VM VIRTUALBOX 共享文件夹】容器挂载文件【本地和容器共享文件】配置修改

如果未能成功配置宿主机与容器之间的文件挂载,那么即使项目安装完成,即使浏览器可以正常访问,本地宿主机的项目文件夹中也是空空如也,什么都没有

在这里插入图片描述

在GUI的docker管理工具Kitematic (Alpha)中看到的挂载效果如下

在这里插入图片描述

2.3.1【共享文件】容器挂载文件【本地和容器共享文件】配置修改【成功的方式】

在我安装完docker ToolBox,并且修改完虚拟硬盘的配置与端口映射的配置之后,按照网上查到的一些资料修改共享配置,可是仍然不成功,百般查找,终于找到如下方案。看到本文章的人可以先参看
2.3.2【共享文件】容器挂载文件【本地和容器共享文件】配置修改【借鉴但不成功方式】
配置,
如果不行再看
2.3.1【共享文件】容器挂载文件【本地和容器共享文件】配置修改【成功的方式】

下图为网上查到的别人的配置方式,在我电脑上只有采取这种配置才是正确的

我的挂载路径为:
本地宿主机路径:
D:/hyperf
容器路径:
/hyperf

在这里插入图片描述
在这里插入图片描述

本地和容器共享文件夹挂载配置成功之后,命令顺序如下,即可实现本地可见可操作容器内项目

提示:bash命令中的盘符写法:不可以是 D:/ ,只能是/D/

此时本地共享位置中的盘符绝对不可以是 D:/ ,只能是/D/。在win10上是怎么样的不太清楚,时间关系,没做尝试
否则会报错:docker: Error response from daemon: invalid mode: /var/hyperf/
报错类似下图

在这里插入图片描述

//重新run容器,此时本地共享位置中的盘符绝对不可以是 D:/  ,只能是/D/。在win10上是怎么样的不太清楚,时间关系,没做尝试
docker run -d  --name hyperf -v /D/hyperf:/data/hyperf -p 9501:9501 -it --privileged -u root --entrypoint /bin/sh hyperf/hyperf:7.4-alpine-v3.11-swoole

中间执行一系列代码继续按照或者配置

//1、安装项目源码
composer create-project hyperf/hyperf-skeleton
//2、进入docker中项目目录
cd /hyperf/hyperf-skeleton
//3、执行启动hyperf
php bin/hyperf.php start

此时,本地关联共享文件夹中终于出现了盼望已久的项目代码,贫道热泪盈眶,不禁使劲捋了捋锃亮的头皮上那稀疏的几根马尾

在这里插入图片描述

正确配置挂载关系后,在GUI的docker管理工具Kitematic (Alpha)中看到的挂载效果如下

在这里插入图片描述

2.3.2【学习借鉴但不成功的方式】【以下复制原博主内容】

2.3.2.1第一步:配置ORACLE VM VIRTUALBOX 共享文件夹:

win7有些系统版本可能采用这个方式不会成功,但是一些注意事项还是要学习的。

(原博主原话)我的Oracle VM VirtualBox共享文件路径配置【一定要注意,共享文件夹名称的配置】

!!!特别注意:文件夹【共享文件夹】名称不能包含大写

在这里插入图片描述

在这里插入图片描述

2.3.2.2 重启容器

第二步:【不重启不会生效】修改了VIRTUALBOX的共享目录后,应该使用 DOCKER-MACHINE RESTART DEFAULT 进行重启。

2.3.2.3 执行DOCKER RUN -P … -V … 镜像名称或ID 【启动容器并挂载文件夹】

这里使用win10 docker toolbox 给容器挂在文件的时候,路径必须使用【/d/…】格式,不能是d:\,,否则会出错!

挂载的原则是:启动容器的同时才可以执行文件挂载!

// 6fae60ef3446是镜像id或使用training/webapp【不是容器id】

docker run -d --name webapp -p 5000:5000 -v /d/www:/opt/webapp 6fae60ef3446

只要文件挂在成功,就会正常启动!

在这里插入图片描述

错误情况:如果挂在失败【下面这种情况】,产生了一串地址,却没启动容器,一定是共享文件夹名称配置错了

在这里插入图片描述

docker toolbox路径问题参考:https://blog.csdn.net/DRAGONLONG007/article/details/82313652

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值