被Docker环境问题搞得精疲力尽的一天
1、教程文档没看明白,所以整个操作都是混乱的,各种乱七八糟的报错,我也各种乱七八糟的google,执行了一大堆我自己根本不明白是啥意思的命令
2、发现自己的机器上装了三个版本的php,7.3, 8.1.9, 8.1.10,搞得我强迫症犯了好想删掉旧的,但目前算了,没那个能力,不添乱了
3、Docker Desktop启动容器一直报错,无论是界面还是命令行,都是说80端口被占用。可是我搜索lsof没查到80端口被占用的信息。被论坛的朋友提醒su到了root再搜lsof发现被httpd占用了,可这个进程怎么杀也杀不掉,杀了立刻就起了新的,pkill httpd不行,httpd -k stop也不行,最后无奈下改了http.conf文件,把apache的端口改成了8080。
这下终于跑起来了
虽然我根本不理解这个run成功了代表啥,laravel.test也没办法访问,但今天就这样吧,我的脑细胞已消耗殆尽
本作品采用《CC 协议》,转载必须注明作者和本文链接
高认可度评论:
都删了吧,我建议你用这个:github.com/yeszao/dnmp
都删了吧,我建议你用这个:github.com/yeszao/dnmp
我用的是 laradock 和 brew 安装多个 php,
使用 php7, php74, php81 compsoer74 等执行不同的版本命令
我用这个创建软连接 gitee.com/pifeifei/brew-php-ln
建议没啥基础的话不用在docker以及开发环境上杠那么多时间,毕竟也不是运维,后面再补习知识就好了,像phpstudy、laragon这种一键安装的先用着就好
Apache 注册了系统服务,用 service 命令来关
推荐你看第一本Docker书,跟着敲,周末两天就够,作为开发工具的知识,够了
建议新手用 brew
80端口被占用,你可以用其他端口去映射80端口,我是用9191去映射nginx80端口
如果自己不会构建php image话确实遇到问题很难解决,如果一定要用docker的话,建议学学如何从零开始构建一个php镜像,dockerfile 从空镜像开始,我一般是用纯净alpine开始构建,也不是很难,想要什么扩展往dockerfile里面写就行,多个不同版本的php,也只不过是多几个dockerfile文件,至于其他的镜像如 nginx horizon redis 等镜像都是可以自己构建的,不需要使用laradock,那个在生产环境使用比较重,没那个必要,需要注意的是,php composer 也可以使用docker,只不过是不是常驻运行,只是执行完安装命令后就自动销毁,如此下来我们的生产服务器就只需要安装一个docker就行了,一切服务都跑在docker上,当然mysql不建议用docker跑,建议直接安装,如果都在一台机器内的话mysql链接可以走内网,不要走外网IP,只不过配置链接就不是127.0.0.1地址了,而是docker网卡地址,这还得看docker网络隔离状况,所以还要学习docker网络方面的知识,综上所述,要用好docker光使用一个dockers run 命令是远远不够的,那个只是方式快速开启测试环境,生产环境就需要大量的基础知识铺垫,比如还有日志收集,docker运行报错了怎么排查等等,volume 等等,任重道远呀小伙子
慢慢来,多查,多试,坚持整个两周就入门了
B站狂神说的docker教程可以看看入门和进阶都有,另外dnmp那个项目也很好,自己跟着做一个理解更深
就一个问题, 你启动容器后添加对应的 host 记录没
来吧,看这个,一句话的事 博客:一行代码!docker小白快速搭建centos环境跑laravel~~~
从入门到放弃
windows下用Laragon就好,Mac的话我还真是用教程里的homestead。搞环境配置很消耗时间和 motivation,先把精力用在使用框架搭产品上面,其他环境啥的,入职了再补不迟。
都删了吧,用这个 github.com/aa24615/docker
如果楼主是想制作镜像的话可以看我的教程 教你如何调试docker镜像的
www.bilibili.com/video/BV1iY411P7D...
虽然不是php的 但是学会了你可以制作任何镜像~