【问题标题】:Laravel Connection with docker mysqlLaravel 与 docker mysql 的连接
【发布时间】:2021-05-18 12:44:00
【问题描述】:

我正在将我的 Laravel 应用程序连接到 docker-composer.yml

我通过 CLI 拉取 MySQL 映像和 PHPMyAdmin 映像,并将 MySQL 和 PHPMyAdmin 连接到同一网络中的容器中,我正在尝试在 localhost 中连接我的 Laravel 应用程序。

Laravel ENV:

'DB_CONNECTION=mysql'
'DB_HOST=mysql'
'DB_PORT=3306'
'DB_DATABASE=select_elect'
'DB_USERNAME=root
'DB_PASSWORD=root'

容器信息:

错误:

php_network_getaddresses: getaddrinfo failed: No such host is known.  

请指导我哪里做错了。

【问题讨论】:

  • 你能分享一下 docker-compose 文件吗?

标签: mysql laravel docker


【解决方案1】:

如果您不想从容器连接,而是从主机连接 - 那么您需要先为 MySQL 服务添加 docker-compose:

ports:
  - "3306:3306"

例如

version: '3.7'
services:
  db:
    restart: unless-stopped
    image: mysql:latest
    ports:
      - "3306:3306"

命令行界面:

docker run -p 3306:3306 mysql:latest

这将使 MySQL 服务和端口可以从 docker 网络外部访问。

但是如果您尝试从同一个 docker 网络内部连接,请检查您的服务是否有名称 mysql,因为您使用的值是:'DB_HOST=mysql'

【讨论】:

  • 感谢您的回复,现在一切正常
猜你喜欢
  • 2019-05-24
  • 2019-03-05
  • 2019-08-21
  • 2020-09-18
  • 2020-11-05
  • 1970-01-01
  • 2021-04-17
  • 2019-04-03
  • 1970-01-01
相关资源
最近更新 更多