Laradock 不支持 mysql

2024-01-05

我无法理解如何让 Laradock 与 mysql 数据库一起正常工作。

我已遵循 laradock 文档并安装了所有内容,使用以下命令启动容器

docker-compose up -d nginx mysql

我有这样的多项目版本布局

project
    +laradock-spa

php 端似乎可以工作,我可以打开 laravel 欢迎页面,但是连接数据库给我带来了问题。

首先,我应该在哪里运行 php artisan 命令,例如php artisan migrate?应该从我的机器的项目文件夹中运行,还是从 docker 容器中运行?

当我从项目文件夹运行它时,它可以工作,我可以进入 mysql 容器并查看初始数据库表,例如migration, and user.

但是,我无法将初始 POST 发送到数据库以在 Postman 中工作 - 我收到错误SQLSTATE[HY000] [2002] No such file or directory (SQL: insert into users (...

所以我想也许我应该从工作区容器内运行迁移命令,所以我猛击进入工作区,但从这里开始php artisan migrate命令错误与[Illuminate\Database\QueryException] SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schem a.tables where table_schema = spa and table_name = migrations)

正如我所说,我可以成功进入 mysql 容器,并使用 root 密码登录数据库,并且在运行第一次迁移后,我可以看到里面的表。

docker ps显示所有容器。

有人可以解释它是如何工作的以及如何解决这个问题吗?我不确定应该在哪里运行哪些命令,以及容器如何相互通信。但基本上,如何让 mysql 数据库在 laravel 项目中工作?

顺便说一句,我也在 PC 上运行本地 mysql,也许这会导致一些冲突/混乱?

我在Win10上运行这一切。


当您使用 Laradock 时,您需要将容器视为一个共享网络中的单独服务器/计算机。下图中的每个矩形代表一台服务器,它有自己的IP地址、自己的Linux系统等。因此,要从另一个容器连接到MySQL,您需要知道该容器的IP地址或主机名。

幸运的是,Laradock 在底层提供了一些魔法来缓解这一问题,您可以使用 MySQL 主机名,而不是在配置中提供 IP 地址。如果你想启用 Redis,你所要做的就是使用 docker-compose up 启动 Redis,并在 Laravel 配置中提供 Redis 主机名。

如果涉及故障排除,docker-compose ps 是检查发生了什么情况的最佳方法。剩下的就是对多容器概念的理解。

请注意,如果不在 docker-compose.yml 中公开容器端口,则无法从主机连接到容器。容器 IP 对于主机不可见,因为它们属于虚拟网络,而不是计算机连接的真实网络。默认端口已在 docker-compose.yml 中公开,因此您可以通过 IP 127.0.0.1 和端口 3306 访问数据库,与 Nginx 的端口 80 等相同。

希望现在更清楚了:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laradock 不支持 mysql 的相关文章

随机推荐

  • 普通 ArrayList Linq c# 2 语法(需要转换)

    这个问题对我来说纯粹是学术性的 是我在这里回答的问题的衍生问题 从数组列表中检索具有特定元素值的对象 https stackoverflow com questions 19469945 retrieve object from an ar
  • 阻止提交 HTML 表单字段

    我想以编程方式允许或隐藏在 HTML5 表单中提交的表单字段 我以为我可以设置它的 CSSdisplay归因于none 但是 它仍然被提交 只是看不到 我是否可以设置另一个属性 而不是从 HTML5 文档中完全删除该元素 简单设定disab
  • 如何从 AWS Lambda (Node.js) 中的处理程序调用 module.exports

    AWS 中是这么说的 函数中的 module name export 值 例如 index handler 调用index js中的exports handler 它正确地调用了这个函数 exports handler username p
  • ol.interaction.Select 在 ol.source.VectorTile 上给出错误

    我试图在选择 VectorTile 图层后更改该功能的样式 但是 第一次触发选择交互时 控制台会报告错误 Uncaught TypeError feature getId is not a function at ol source Vec
  • 限制java只执行签名的jar?

    Java jar 可以使用 JDK jarsigner 工具进行签名 这与策略工具结合使用 似乎只允许您在运行时向 jar 添加权限 我想要一个默认的 撤销运行访问权限 是否有可能让java以这样的方式进行白名单 只允许运行由一组特定证书签
  • iPhone 上的 iAds 插页式广告?

    我和我的开发人员之前曾尝试在 iPhone 和 iPad 上加载插页式广告 但只在 iPad 上成功 在我们的测试过程中 我们发现 iPhone 不支持插页式广告 但自从 iOS7 发布以来 有些人说这是可能的 但是我找不到任何关于此的像样
  • Android Studio 中出现错误“无法解析所有配置文件”[重复]

    这个问题在这里已经有答案了 我尝试运行一个在编码中没有明显错误的应用程序 但是 当我尝试运行它时 会弹出此错误 导致 org gradle api internal artifacts ivyservice DefaultLenientCo
  • Java 2D 性能缓慢 - 调整大小

    我使用的是带 Aero 的 Windows 7 并且有一个非常快的显卡 Radeon 6870 用于游戏 在调整用 java 编写的非常简单的程序大小时 我遇到了一些问题 例如 这个程序完全不执行任何操作 它没有动作监听器 没有循环 它只是
  • 从 Firebase 通知中打开特定活动

    我将 firebase 通知集成到我的应用程序中 但我想发送一条通知来打开特定活动并执行我计划执行的操作 而不仅仅是打开应用程序 就像一条通知 点击它就会促使用户访问 Google Play 商店 我看到了一段代码Firebase 控制台
  • 如何在 HDInsight Spark/Jupyter 上使用 Avro?

    我正在尝试读取 HDInsight Spark Jupyter 集群内的 avro 文件 但得到了 u Failed to find data source com databricks spark avro Please find an
  • 学习二郎? speedbump线程,常见,小问题

    我只想知道当你刚接触 Erlang 时 你和最终解决方案之间存在的所有小问题 例如 这是我遇到的第一个减速带 如果您在多个线程中生成 请使用controlling process Socket Pid 正确的数据包到正确的线程 您要开始与另
  • 使用Sinon 建立 Mongoose 模型

    我想为 Mongoose 创建一个存根save特定模型中的方法 以便我创建的模型的任何实例都将调用存根而不是普通的 Mongoosesave方法 我的理解是 做到这一点的唯一方法是像这样存根整个模型 var stub sinon stub
  • 如何将数据从大小为 N 的 Cassandra 集群迁移到大小为 N+/-M 的不同集群

    我正在尝试弄清楚如何将数据从一个 cassandra 集群迁移到另一个环大小不同的 cassandra 集群 比如从 5 节点集群迁移到 7 节点集群 我开始查看 sstable2json 因为它为特定 cassandra 节点上的 SST
  • 从 Cosmos 中的 JSON 文件中选择列时发生 MapReduce 错误

    问题如下 使用 Cygnus 0 2 1 创建表后 在尝试从 Hive 选择列时收到 MapReduce 错误 如果我们看到Cygnus在hadoop中创建的文件 我们可以看到使用的格式是JSON 这个问题在以前版本的 Cygnus 中没有
  • 使用 sqlalchemy 列出索引

    是否可以使用 sqlalchemy 列出数据库中的所有索引 yes http www sqlalchemy org docs core schema html sqlalchemy engine reflection Inspector g
  • 结构内存黑客重叠对象引用 - 这可能吗?

    我猜这个问题的答案是 不可能 切换到 C 但我想无论如何我都会把它扔掉 我正在处理一个巨大的二叉树 我有一个结构数组来表示分支节点 在遍历树时 我用它来帮助确定内存的局部性 为了节省一点内存 从而提高缓存局部性 我正在考虑重叠叶节点的对象引
  • 1 个 imageview android 上的多个动画

    我有 2 个动画已经可以使用了 我想同时淡出我的火车 补间我的火车 如果我执行其中 1 行 它就会起作用 但如果我尝试同时执行这两个操作 则只有 1 个可以工作 我在这里实在找不到解决办法 也许你能帮忙 final ImageView my
  • postgres 中的主键值可以为零吗?

    我的数据库中有一个表 其中一行的 ID 等于 0 零 主键是一个序列列 我习惯于看到以 1 开头的序列 那么 如果我将此 ID 保留为零 是否会出现问题 串行数据类型创建自动递增的整数列 因此 您应该能够向该列添加任何整数值 包括 0 来自
  • Telegram API:如何保持 ApiState 来保存登录状态

    我使用了来自此来源的 telegram api https github com voleon telegram trivia bot https github com voleon telegram trivia bot但我的问题是 如何
  • Laradock 不支持 mysql

    我无法理解如何让 Laradock 与 mysql 数据库一起正常工作 我已遵循 laradock 文档并安装了所有内容 使用以下命令启动容器 docker compose up d nginx mysql 我有这样的多项目版本布局 pro