Laradock在window上使用的坑

大致说一下流程吧

参考学院君的文章
https://laravelacademy.org/post/9608.html

按照文档一步步来.
首先 在使用之前 关闭本地的PHP环境 .我使用的phpstudy 直接停止就行了.
将Docker中的所有磁盘映射一下.
右键docker->Setting->Shared Drives
Laradock在window上使用的坑_第1张图片

我是勾选的所有.然后 Apply 重启一下Docker就行.

还有学院君说要最好开启VPN 因为我自己开了 所以没碰到坑

再就是我碰到的最后一个坑了!

所有都弄好了之后…去访问127.0.0.1发现直接拒绝访问

查看windows的端口
发现:
Laradock在window上使用的坑_第2张图片

监听的80端口是灰色的?
然后去命令行查看docker 的运行情况.,发现 所有的服务都起来了.就nginx没起来

在这里插入图片描述

我单独起一下nginx 发现报错syntax error: unexpected end of file

Laradock在window上使用的坑_第3张图片

提示我startup.sh出错…那么问题来了.这个鬼东西在哪?

一步步找吧

查看laradock中nginx目录下的Dockfile
Laradock在window上使用的坑_第4张图片

发现有一个ADD ./startup.sh /opt/startup.sh 将本地的startup.sh 添加到容器内.
那么看一下这个sh文件 看起来没啥问题
Laradock在window上使用的坑_第5张图片

但是如果进入生成的laradock_nginx镜像内 查看这个文件的话,会发现有问题的!
使用命令docker run -it laradock_nginx /bin/bash进入镜像查看 /opt/startup.sh文件就会发现问题的.

这里我已经改完了 就不截图了

具体解决方案 可参考 https://blog.csdn.net/u013948858/article/details/79637851
原因就是在windows下 这个脚本文件 与在linux上的文件格式是不一致的.
我们在编写脚本文件的时候 最好是在linux上编写.

我的解决流程是:

将windows上的文件内容 复制到 linux机器上 重新编写 并尝试运行一遍.
没有问题之后,从linux机器上下载下来.替换windows上原有的脚本文件
使用docker 将原有的laradock_nginx容器和镜像删除之后 再重新 docker-compose up nginx
这里就完全ojbk了

还有一点.在学院君的文档上 这里写的是在.env中 编辑APPLICATION这个配置项

在这里插入图片描述

但这里 我看官方文档 上写的是 编辑APP_CODE_PATH_HOST这个配置项 按照官方文档上写的没毛病.
可能学院君的没更新吧…将.env中原有的APP_CODE_PATH_HOST配置代替成自己的就行 ,然后去重启下nginx workspace

Laradock在window上使用的坑_第6张图片

你可能感兴趣的:(Laravel)