mysql - 如何从 Vagrant box 连接到 docker 容器中的 MySQL 数据库?

标签 mysql laravel symfony docker vagrant

我有一个 Symfony 项目,在 3 个 docker 容器中运行:

  • PHP-FPM 容器
  • NginX 容器
  • MySQL 容器

我有另一个(Laravel)项目,它通过预打包的 Vagrant Box 设置(Homestead)运行。

我现在正在尝试从 Laravel 项目的 Vagrant 框中连接到(Docker 设置的)MySQL 数据库。

我确定的事情:

  • 我可以通过 Sequel Pro 从我的主机连接到我的 MySQL 数据库。

主机:127.0.0.1
端口:3306

我不知道的是:

  • 我应该在 Laravel 项目中定义哪个主机/端 Eloquent 能从我的 Docker 容器设置成功连接到 MySQL 数据库?

最佳答案

如果您可以从工作站进行连接,也应该可以从虚拟机进行连接。

简单地用作连接参数:

  • IP:您的工作站 IP
  • 端口:3306

重要:使用 -p 3306:3306 发布容器的端口

关于mysql - 如何从 Vagrant box 连接到 docker 容器中的 MySQL 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45652294/

相关文章:

mysql - 创建多个虚拟变量列是检索数据的有效方法吗?

mysql - 使用名为 "name"的列进行查询

laravel - 如何在laravel Eloquent 查询中获取前10个类别列表

php - 使用 PHPUnit 在 Symfony3 中测试服务/服务容器的优雅方式

php - Symfony 3 连接到多个数据库

php - 'Acme' 在 Symfony2 中代表什么?

MySQLNonTransientConnectionException : Communications link failure during commit(). 事务解析未知

MySQL:在一个语句中连接多个表

laravel - Composer 卡在 4.2 上的 "Resolving dependencies through SAT"

php - 如何使用 Laravel index.php 为 Vue-CLI 提供服务