laradock-的踩坑之旅

一直想尝试使用docker,今天终于有时间来折腾,所以来踩坑啦!
本人是Windows系统,怎么安装就不详细描述了,直接去官网下载安装就好。相应的镜像加速也不会过多描述,纸片文章主要用于laradock的踩坑体验。

一. 安装laradock

主要步骤都是按照官网文档进行
1.将laradock克隆到你项目的根目录:

git clone https://github.com/Laradock/laradock.git

2.进入 laradock 文件夹并复制 env-example 为 .env

cp env-example .env

3.运行 docker-compose 来构建环境

docker-compose up -d nginx mysql

到这一步我就开始遇到问题了,执行 docker-compose up -d nginx mysql 命令的时候会出现如下图中的错误信息

这个问题的根本原因是 raw.githubusercontent.com 这个地址访问不了
解决方案:
1.百度查询 raw.githubusercontent.com 地址的真实IP
2.修改本地 host 文件

151.101.76.133 raw.githubusercontent.com

再次执行 docker-compose up -d nginx mysql 指令,问题得到解决。

二. 安装项目后执行文件迁移

安装好 laradock 后本地做了一个 blog 项目。
但是在执行 php artisan migrate 进行数据迁移时发现一直报 could not find driver 这个错误,如图:
又是一通百度,以及查看 laradock 中的 php 没有发现问题。
最后打开本地PHP.ini 文件发现是本地的 extension=pdo_mysql 扩展没有打开。
其实这里我没有搞太懂,我的项目不是应该基于laradock在运行吗?这里怎么还会用到我本地的PHP环境?也可能是我基础太不牢靠,基础性的尝试都没有理清楚的管理。
本地 php.ini 打开 extension=pdo_mysql 注释后问题得到解决。

但是紧接着又遇到新的问题,如图:

这里又引出了一个新的问题,官方文档已在要求将 .env 配置改成

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306

但是最终我改成了

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306

才迁移成功

我不知道这里的问题具体是处在哪里。:joy:
就是这么点东西我都折腾了这么久,我的道路还任重道远啊。今天踩坑之路久到此结束。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 3

file 名字错了

2.mysql连接使用DB_HOST=mysql 是用的容器名,在laradock中配置连接建议使用容器名

3.迁移及命令不要在本地执行,否则各种问题,比如数据库连不了,进入workspace 找到本地项目在容器中的映射目录,执行所有命令都ok :grin:

3年前 评论

楼上的大佬说的对,你可以通过docker exec -it workspace bash命令进入workspace容器中执行数据迁移命令,如果在本机中执行命令走的当然是本机的PHP环境,127.0.0.1能生效是因为mysql容器监听了主机的3306端口,使用laradock的话 最好各种命令都在容器中运行

3年前 评论

感谢大佬指出的错误,已修改。才明白需要进入到容器中执行命令。谢谢 @GamersGu @mution

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
1
粉丝
1
喜欢
1
收藏
1
排名:2167
访问:768
私信
所有博文
社区赞助商