一些废话

最近要用hyperf去写项目 官方对极其环境要求严格
无奈 官方推荐使用docker 之前我docker的使用都是在群晖或者centos等linux发行版上去使用

于是开始了第一次windows下的折腾之旅
先装docker官方安装包 安装完 提示要装wsl2 行吧,装就装吧,之前听说过这玩意,听说很香 一直没机会体验,正好试试
装完重启 然后启动docker 鲸鱼红了。。。 再重启下docker 抛异常

无奈去百度 好像要开启hyper-v才可以使用 这玩意我记得和vmware不兼容 所有我一直都是关着的 行吧,开就开
重启。。。 启动docker 又红了。。。。 又有人说要卸载vmware 行吧 可能是因为vmware导致hyper-v不正常
而docker在windows环境又是基于hyper-v原因导致的吧
卸载vmware 重启docker 还是红的 行吧 可能需要重启。。。 2分钟后 启动 。。。。 又是红色,手动重启docker 又抛异常

算了算了,我真是服了 在windows跑docker真是给自己找罪受
还是重装vmware 用虚拟机跑吧,毕竟开发使用,分1g内存就足够了,咱又不是差那1g内存的人
说干就干 重装完。。。。导入之前的centos虚拟机 开机 报错vmware和device/credential guard不兼容
我用六七年vmware了,也没见过这玩意啊,去百度,发现好像是hyper-v开启了导致的,在windows跑docker真特娘是个憨批
docker没跑起来,vmware还挂了,只能按照教程去设置组策略 关闭hyper-v 执行教程的命令
重启。。。。。vmware终于启动起来了。。。。。以后我再在windows下跑docker,我就是个憨批

接下来就是常规操作 bbr整上 yum update 安装宝塔 一气呵成
安装nginx php mysql redis等。。。。
安装hyperf官方要求的各种php扩展

composer拉官方骨架项目
运行 请求 看到hello hyperf 齐活

但是用docker可以直接映射宿主机目录。。。。
用虚拟机如何保证 windows宿主机 开发 运行环境在linux 并且代码一致
一开始想的用smb直接挂载 但是win挂载linux的smb ide会提示网络路径 代码更新可能缓慢,导致语法提示很慢
后来尝试用rsync等同步软件,直接双向同步 又存在两边都需要装客户端
最后选择了 vmware的共享文件夹功能 让windows宿主机的文件夹,直接挂载到虚拟机内

于是就有了这篇文章

1.虚拟机设置 -> 选项 -> 共享文件夹 -> 总是启用 -> 选择宿主机要映射的目录 + 起个名字
接下来切换到linux
2.安装vm-tools

yum install -y open-vm-tools open-vm-tools-desktop

安装完后执行

vmware-hgfsclient

就会看见我们刚刚映射的目录
我们先创建一个文件夹 再映射vmware共享文件夹到这个目录下

mkdir -p /mnt/vm
vmhgfs-fuse .host:/ /mnt/vm -o allow_other

这时候我们就可以像正常linux下文件一样去操作 /mnt/vm 下的文件 改动会和window那边一致 说了废话 本来就是一份文件

我们再将 /mnt/vm 软链接到web目录即可
前面路径是 源路径 后面是目标路径

ln -s /mnt/vm/wwwroot/ /www/

然后创建站点,解析hosts
访问 一气呵成

linux重启后 会导致挂载失效,需要重新挂载 所以我们写到开机自启脚本里
给执行权限 centos7 默认 /etc/rc.d/rc.local 无执行权限

chmod +x /etc/rc.d/rc.local

打开/etc/rc.d/rc.local 在最下面加入挂载命令

#自动挂载vmware宿主机的共享文件夹
vmhgfs-fuse .host:/ /mnt/vm -o allow_other
最后修改:2020 年 07 月 26 日 02 : 00 PM
如果觉得我的文章对你有用,请随意赞赏