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 的相关文章

  • Laravel/PHP - 从子类返回/重定向

    这是我的子控制器 class VolunteersController extends BaseController public function index this gt checkForRoles admin list some s
  • 从 docker 中的脚本创建 SQL Server 数据库

    我希望这是一个简单的问题 我在任何地方都找不到任何东西 如何在Microsoft SQL Server Docker容器 Dockerfile 我正在看以下内容Dockerfile FROM microsoft mssql server w
  • 在 EB 上的 Docker 中运行的应用程序拒绝连接到自身

    我有一个 Play 2 Web 应用程序 我使用 Docker 将其部署到 Elastic Beanstalk 在此 Web 应用程序中 我启动了一个 Akka 集群 启动过程涉及将自动伸缩组中的所有节点添加为种子节点 包括其自身 第一次部
  • 实时/热重载不适用于 dockerized NestJS API

    我遇到了一个奇怪的问题 我目前正在使用 Windows 10 并通过 WSL2 运行 docker 我在 Windows 文件管理器中克隆了存储库 并且我尝试在 DEV 中运行它 也就是说 一旦我更新了在我的本地存储库中的文件中 此更改反映
  • 使用 testcontainer 作为 Dockerfile 的一部分运行测试

    我的 dockerfile 看起来像这样 FROM maven 3 jdk 11 slim COPY pom xml COPY src src RUN mvn clean install 这意味着构建的一部分是单元测试的执行 一些单元测试使
  • 在ubuntu内核中启用cgroup cpu实时运行时

    我正在尝试在 Ubuntu 18 04 上运行的 docker 容器中使用实时调度 我已经按照给定的方法安装了实时内核here https stackoverflow com questions 51669724 install rt li
  • 无法解析 docker 容器之间的主机名

    我在单独的撰写文件中创建了两个容器 用于应用程序隔离 每个应用程序可能在撰写文件中定义了多个容器 例如后备数据库 这些容器通过名为 common 的外部网络链接 一个示例撰写文件是 version 2 services rabbitmq i
  • Ctrl-p 和 Ctrl-n 在 Docker 下表现异常

    For the life of me I can t seem to figure out why ctrl p and ctrl n don t work like they re supposed to under the Docker
  • laravel 正则表达式验证不起作用

    我刚刚开始使用 laravel 正在努力验证我的表单之一中的文本区域 文本区域用于用户简介 因此我只想允许使用字母 数字 空格和以下字符 这就是我所拥有的 validator Validator make Input all array b
  • https 重定向 laravel .htaccess 之后删除 /public

    我有一个 Laravel 页面部署在共享主机中 当我强制 http 请求重定向到 https 时 url 包含 public 我的根 htaccess 是 RewriteEngine on RewriteCond REQUEST URI p
  • 在未安装 docker 的情况下构建 docker 镜像

    是否可以在不安装 docker 的情况下构建镜像 在我的项目的 Maven 构建中 我想生成 docker 映像 但我不想强迫其他人在他们的机器上安装 docker 我可以想到一些安装了 docker 的虚拟框映像 但这是一种繁重的解决方案
  • Docker 容器中的并行代码执行

    我有一个通过 URLslist 抓取数据的脚本 该脚本在 docker 容器中执行 我想在多个实例中运行它 例如 20 个 为此 我想使用docker compose scale worker 20并将 INDEX 传递给每个实例 以便脚本
  • 如何使用 docker exec 运行 2 个命令

    我需要使用 docker exec 运行 2 个命令 我正在从 docker 容器中复制文件 并且不想处理凭据才能使用 ssh 之类的东西 该命令复制一个文件 sudo docker exec boring hawking tar cv v
  • URL::forceSchema 在登录前不起作用

    我在用着URL forceSchema https 在我的 Laravel 5 3 应用程序上强制使用 SSL 然而 它只有在登录后才有效 即使登录页面没有被 https 覆盖 我在用着可信代理 https github com fidel
  • 在 mkdir 之后触摸文件时构建 Dockerfile 失败

    我是 Docker 新手 尝试使用简单的 Dockerfile 构建映像 FROM jenkins USER root RUN mkdir pv home a b RUN touch home a b test txt RUN mkdir
  • Laravel 5.7:维护模式的自定义刀片模板,但不是 503.blade.php

    每次php artisan down开启后 Laravel 显示 503 页面 好的 我可以通过创建名为的新文件来自定义它503 blade php inside resources views errors 关键是 我在任何时候都不认为维
  • Traefik 2 网关超时

    所以我有以下 docker compose yml version 3 7 services roundclinic mysql image mysql 5 7 networks spring boot mysql network envi
  • 如何使用缓存快速重建dockerfile?

    我想优化我的 Dockerfile 我希望将缓存文件保留在磁盘中 但是 当我跑步的时候我发现docker build 它总是尝试从网络获取每个文件 我希望在构建期间共享我的缓存目录 例如 var cache yum x86 64 6 但是
  • Laravel 5 命名约定

    我对 Laravel 约定有点困惑 因为我是这个框架的新手 我正在关注 Jeffrey Way 他使用的 Laracasts 视频Plural对于控制器名称 E g 页面控制器 卡片控制器 帖子控制器 但如果我参考官方文档Laravel g
  • 无法连接到docker中的elasticsearch容器

    我正在尝试使用 docker 的官方 elasticsearch 镜像 我遵循了本指南 https www elastic co guide en elasticsearch reference current docker html但是当

随机推荐

  • 普通 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