这也是为什么那么多的解决方式是告诉我重新安装 windows文件夹和打印机共享协议就解决了问题

时间:2022-01-30 04:58:11

一直勾留在windows,入了 jetbrains 的全家桶。筹备入门 Swoole,不成能每做一点改削就 git push 运行一下。因此要在 windows 上配置 swoole 运行环境。比拟了几种 windows 下 linux环境 的搭建

BashOnWindows

需要 windows 10
安置很简单,参考bash on windows 安置教程(win 10)
可能由于windows升级,我的版本在 CMD 输入 bash 后只提示去应用商店下载,没有 [Y/N] 选项。打开应用商店搜索下载 UBUNTU 就行了。

# 先升级apt-get ,,不然很多包会找不到 sudo apt-get update sudo apt-get install php7.0 php7.0-curl #... 所有其他你需要的扩展 # pecl 需要 php-pear sudo apt install php-pear # 可能提示 phpize 错误,需要 php-dev pecl install swoole # 凭据提示安置 php7.0-dev sudo apt install php7.0-dev # 安置swoole pecl install swoole # 权限不够,直接 vi 新建 # echo ‘extension=swoole.so‘ >> /etc/php/7.0/mods-available/swoole.ini # 连接文件 cd /etc/php/7.0/cli/conf.d/ && ln -s ../../mods-available/swoole.ini 20-swoole.ini # cd /etc/php/7.0/fpm/conf.d/ && ln -s ../../mods-available/swoole.ini 20-swoole.ini

升级apt-get,保证可以找到最新的包
/mnt/ 挂载了所有盘符,直接cd相应的目录开始吧
【长处】

windows10 自带,安置无脑

完整的 ubuntu 环境,*度较高

【错误谬误】

权限问题,要不竭的 sudo(好吧可能是我被root惯坏了)

怎么开多个shell窗口?

Docker on Windows

Docker 是什么就不赘述了,不管是开发调试还是线上运行都是很赞的沙盒容器。
我是windows10系统,直接选了官方的 DockerForWindows CE
其他windows版本的 docker 没有研究。前后在两台windows上安置部署docker+swoole镜像,一台部署告成后重启就挂失了。一台部署告成运行ok。这里讲一下挂失那台的历程:

安置DockerForWindows,提示开启 Hyper-V 处事,重启。告成运行Docker,下载 swoole 镜像。运行镜像:
docker run --rm -t -i --name myapp -p 9501:9501 -v [windows路径如 e/workspace/swoole]:[挂载路径如/data]:rw [swoole image] /bin/bash
各类参数可以 docker --help查到。这条命令的感化是开始在 docker 运行你的镜像,并且绑定端口,挂载本地文件夹到容器中。
然后问题来了

firewall is blocking file Sharing between Windows and the containers.

这也是为什么那么多的解决方式是告诉我重新安装 windows文件夹和打印机共享协议就解决了问题

一看到防火墙就想固然的去摆弄防火墙设置,搜了一大堆解决要领。

研究防火墙法则(歧途1)

研究445端口(歧途2,导致后续一堆蝴蝶效应)

从头安置网络连接的 windows文件夹和打印机共享协议。(歧途3,实际上已经摸到边了)

【解决过程】
Docker 的图标有个 setting ,里面可以设置共享的盘符。
通过这么多的百度大抵了解docker和windows是通过虚拟网卡(Hyper-V)来成立网络连接。
那么要在Docker容器中挂载windows文件,需要通过 网络文件夹共享。这也是为什么那么多的解决方法是报告我从头安置 windows文件夹和打印机共享协议就解决了问题。
所以问题原因最终是因为,

我要共享的盘没开启网络共享

点开文件夹属性 -> 共享。docker -> setting -> 勾选要共享的盘。然后运行容器,well done!
【万劫不复】
因为前面测验考试各类解决要领的时候,【改削过注册表】,【删除了Hyper-V虚拟网卡】,机器重启之后Docker 无法启动,检察日志概略是在NAT-switch的时候创建掉败。检察Hyper-V打点器,【虚拟交换机打点】已经无法打开。多次卸载重装无果,最终放弃了DockerForWindows.
后来在家本身的windows10安置,一切顺利。

【长处】

docker容器镜像资源很多,一键安置,无脑部署

趁便熟悉下docker的使用

没有权限问题

【错误谬误】

每次启动镜像要输一堆命令,共享盘符被坑了

非window10, cygwin,其他docker on windows

cygwin这里不做介绍了。
其他的docker on windows 没测验考试过。